Introduction to Python :)
Madhav Ganesan
Posted on September 2, 2024
History
Python, created by Guido van Rossum, was first released in 1991. It was designed to prioritize code readability and simplicity, making it highly productive for developers. The name "Python" was inspired by the BBC television show "Monty Python's Flying Circus," which van Rossum was a fan of. He chose this name because he wanted something short, unique, and slightly mysterious. The development of Python began in December 1989 at the Centrum Wiskunde & Informatica (CWI) in the Netherlands.
Paradigms
Procedural Programming
def greet():
print("Hello, World!")
greet()
Object-Oriented Programming
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print(f"Hello, my name is {self.name}")
person = Person('Alice')
person.greet() # Outputs: Hello, my name is Alice
Functional Programming
def greet(name):
return f"Hello, {name}"
def process_greeting(fn, name):
return fn(name)
print(process_greeting(greet, 'Charlie'))
Performance
Python is an interpreted language, and its performance can vary based on the interpreter used. CPython, the default interpreter, compiles Python code to bytecode which is then interpreted. PyPy, with its JIT compilation, can offer significant performance improvements for certain applications.
How to Run a Python File
Open a Text Editor and Type Python Code:
Write your Python code in a text editor.
Save the File with a .py Extension:
Save your file with a .py extension.
Run the Following Commands (Python interpreter required):
python filename.py
Type System
Dynamic Typing: Types are checked at runtime, providing flexibility but potentially leading to runtime errors.
Duck Typing: An object's suitability is determined by the presence of certain methods and properties rather than the object's actual type.
Optional Static Typing: Python 3.5 introduced type hints which can be used with tools like mypy for optional static type checking.
Abstraction
Python provides a high-level abstraction for interacting with various environments, managing memory automatically, and offering extensive libraries and frameworks to simplify complex tasks.
Important Facts
Automatic Memory Management: Python uses automatic garbage collection to handle memory allocation and deallocation.
Interpreted Language: Python code is executed line by line, which aids in debugging but may affect performance.
Usage
Web Development: Popular for creating web applications using frameworks like Django and Flask.
Data Science and Analysis: Widely used for data manipulation, analysis, and visualization with libraries like Pandas, NumPy, and Matplotlib.
Machine Learning and AI: Leveraged for machine learning and AI applications using libraries like TensorFlow, Keras, and scikit-learn.
Automation and Scripting: Commonly used for automating repetitive tasks and writing scripts.
Scientific Computing: Utilized for scientific computations and research with libraries like SciPy.
Game Development: Used for game development with libraries like Pygame.
Desktop Applications: Used for developing cross-platform desktop applications with frameworks like PyQt and Tkinter.
Stay Connected!
If you enjoyed this post, don’t forget to follow me on social media for more updates and insights:
Twitter: madhavganesan
Instagram: madhavganesan
LinkedIn: madhavganesan
Posted on September 2, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.