DEV Community

Cover image for Introduction to Python :)
Madhav Ganesan
Madhav Ganesan

Posted on

Introduction to Python :)

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.

Image description

Paradigms

Procedural Programming

def greet():
    print("Hello, World!")

greet()
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Functional Programming

def greet(name):
    return f"Hello, {name}"

def process_greeting(fn, name):
    return fn(name)

print(process_greeting(greet, 'Charlie'))
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

Top comments (0)