Zum Inhalt

Python - Programmiersprache Referenz

** Umfassende Python-Referenz für Syntax, Bibliotheken und Best Practices* *

Python ist eine vielseitige, hochrangige Programmiersprache, die für ihre Lesbarkeit und umfangreiches Ökosystem bekannt ist. Dieses umfassende Betrugsblatt umfasst Python-Syntax, integrierte Funktionen, populäre Bibliotheken und beste Praktiken für eine effektive Python-Entwicklung.

Grundprinzip

Variablen und Datentypen

```python

Variable assignment

name = "Python" age = 30 height = 5.9 is_active = True

Multiple assignment

x, y, z = 1, 2, 3 a = b = c = 0

Data types

string_var = "Hello World" # str integer_var = 42 # int float_var = 3.14 # float boolean_var = True # bool list_var = [1, 2, 3] # list tuple_var = (1, 2, 3) # tuple dict_var = \\{"key": "value"\\} # dict set_var = \\{1, 2, 3\\} # set none_var = None # NoneType

Type checking

type(variable) # Get type isinstance(variable, int) # Check if instance of type ```_

Streicher

```python

String creation

single_quotes = 'Hello' double_quotes = "World" triple_quotes = """Multi-line string content"""

String formatting

name = "Alice" age = 30

f-strings (Python 3.6+)

message = f"Hello \\{name\\}, you are \\{age\\} years old" formatted = f"Pi is approximately \\{3.14159:.2f\\}"

.format() method

message = "Hello \\{\\}, you are \\{\\} years old".format(name, age) message = "Hello \\{name\\}, you are \\{age\\} years old".format(name=name, age=age)

% formatting (legacy)

message = "Hello %s, you are %d years old" % (name, age)

String methods

text = " Hello World " text.strip() # Remove whitespace text.lower() # Convert to lowercase text.upper() # Convert to uppercase text.title() # Title case text.replace("Hello", "Hi") # Replace substring text.split() # Split into list "".join(["a", "b", "c"]) # Join list into string text.startswith("Hello") # Check if starts with text.endswith("World") # Check if ends with text.find("World") # Find substring position len(text) # String length ```_

Listen

```python

List creation

numbers = [1, 2, 3, 4, 5] mixed = [1, "hello", 3.14, True] empty = [] range_list = list(range(10)) # [0, 1, 2, ..., 9]

List operations

numbers.append(6) # Add to end numbers.insert(0, 0) # Insert at position numbers.remove(3) # Remove first occurrence popped = numbers.pop() # Remove and return last popped = numbers.pop(0) # Remove and return at index numbers.extend([7, 8, 9]) # Add multiple items numbers.clear() # Remove all items

List access and slicing

first = numbers[0] # First element last = numbers[-1] # Last element subset = numbers[1:4] # Elements 1, 2, 3 every_second = numbers[::2] # Every second element reversed_list = numbers[::-1] # Reverse list

List comprehensions

squares = [x**2 for x in range(10)] evens = [x for x in range(20) if x % 2 == 0] words = ["hello", "world", "python"] lengths = [len(word) for word in words] ```_

Tagebuch

```python

Dictionary creation

person = \\{"name": "Alice", "age": 30, "city": "New York"\\} empty_dict = \\{\\} dict_from_keys = dict.fromkeys(["a", "b", "c"], 0)

Dictionary operations

person["email"] = "alice@email.com" # Add/update age = person["age"] # Access value age = person.get("age", 0) # Safe access with default del person["city"] # Delete key popped = person.pop("email") # Remove and return person.update(\\{"phone": "123-456"\\}) # Update multiple

Dictionary methods

keys = person.keys() # Get all keys values = person.values() # Get all values items = person.items() # Get key-value pairs

Dictionary comprehensions

squares = \\{x: x**2 for x in range(5)\\} filtered = \\{k: v for k, v in person.items() if len(str(v)) > 3\\} ```_

Steuerstrom

Bedingte Aussagen

```python

if/elif/else

age = 18 if age >= 18: print("Adult") elif age >= 13: print("Teenager") else: print("Child")

Ternary operator

status = "Adult" if age >= 18 else "Minor"

Multiple conditions

if age >= 18 and age ``< 65: print("Working age")

if name == "Alice" or name == "Bob": print("Known person")

Membership testing

if "python" in text.lower(): print("Contains python")

if key not in dictionary: print("Key not found") ```_

Loops

```python

for loops

for i in range(5): # 0, 1, 2, 3, 4 print(i)

for i in range(1, 6): # 1, 2, 3, 4, 5 print(i)

for i in range(0, 10, 2): # 0, 2, 4, 6, 8 print(i)

Iterate over collections

fruits = ["apple", "banana", "orange"] for fruit in fruits: print(fruit)

Enumerate for index and value

for index, fruit in enumerate(fruits): print(f"\{index\}: \{fruit\}")

Dictionary iteration

person = \{"name": "Alice", "age": 30\} for key in person: # Iterate over keys print(key)

for value in person.values(): # Iterate over values print(value)

for key, value in person.items(): # Iterate over key-value pairs print(f"\{key\}: \{value\}")

while loops

count = 0 while count < 5: print(count) count += 1

Loop control

for i in range(10): if i == 3: continue # Skip to next iteration if i == 7: break # Exit loop print(i) ```_

Funktionen

Beschreibung der Funktion

```python

Basic function

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

Function with default parameters

def greet(name, greeting="Hello"): return f"\{greeting\}, \{name\}!"

Function with multiple parameters

def calculate_area(length, width): return length * width

Function with variable arguments

def sum_all(*args): return sum(args)

Function with keyword arguments

def create_profile(**kwargs): return kwargs

Function with mixed parameters

def process_data(data, args, *kwargs): # data: required parameter # args: variable positional arguments # kwargs: variable keyword arguments pass

Lambda functions (anonymous functions)

square = lambda x: x2 add = lambda x, y: x + y numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x2, numbers)) ```_

Funktionsbeispiele

```python

Recursive function

def factorial(n): if n <= 1: return 1 return n * factorial(n - 1)

Generator function

def fibonacci(n): a, b = 0, 1 for _ in range(n): yield a a, b = b, a + b

Decorator function

def timer(func): import time def wrapper(args, kwargs): start = time.time() result = func(args, **kwargs) end = time.time() print(f"\{func.name\} took \{end - start:.4f\} seconds") return result return wrapper

@timer def slow_function(): time.sleep(1) return "Done" ```_

Objektorientierte Programmierung

Klassen und Objekte

```python

Basic class

class Person: # Class variable species = "Homo sapiens"

def __init__(self, name, age):
    # Instance variables
    self.name = name
    self.age = age

def greet(self):
    return f"Hello, I'm \\\{self.name\\\}"

def have_birthday(self):
    self.age += 1
    return f"Happy birthday! Now \\\{self.age\\\} years old"

Create objects

person1 = Person("Alice", 30) person2 = Person("Bob", 25)

Access attributes and methods

print(person1.name) # Alice print(person1.greet()) # Hello, I'm Alice person1.have_birthday() # Happy birthday! Now 31 years old ```_

Erbschaft

```python

Parent class

class Animal: def init(self, name, species): self.name = name self.species = species

def make_sound(self):
    return "Some generic animal sound"

def info(self):
    return f"\\\{self.name\\\} is a \\\{self.species\\\}"

Child class

class Dog(Animal): def init(self, name, breed): super().init(name, "Dog") # Call parent constructor self.breed = breed

def make_sound(self):  # Override parent method
    return "Woof!"

def fetch(self):  # New method specific to Dog
    return f"\\\{self.name\\\} is fetching the ball"

Multiple inheritance

class Flyable: def fly(self): return "Flying high!"

class Bird(Animal, Flyable): def init(self, name, species): super().init(name, species)

def make_sound(self):
    return "Tweet!"

Create objects

dog = Dog("Buddy", "Golden Retriever") print(dog.make_sound()) # Woof! print(dog.fetch()) # Buddy is fetching the ball print(dog.info()) # Buddy is a Dog ```_

Sondermethoden

```python class Book: def init(self, title, author, pages): self.title = title self.author = author self.pages = pages

def __str__(self):  # String representation
    return f"\\\{self.title\\\} by \\\{self.author\\\}"

def __repr__(self):  # Developer representation
    return f"Book('\\\{self.title\\\}', '\\\{self.author\\\}', \\\{self.pages\\\})"

def __len__(self):  # Length
    return self.pages

def __eq__(self, other):  # Equality comparison
    return (self.title == other.title and
            self.author == other.author)

def __lt__(self, other):  # Less than comparison
    return self.pages < other.pages

def __add__(self, other):  # Addition
    total_pages = self.pages + other.pages
    return f"Combined: \\\{total_pages\\\} pages"

book1 = Book("1984", "George Orwell", 328) book2 = Book("Animal Farm", "George Orwell", 112)

print(str(book1)) # 1984 by George Orwell print(len(book1)) # 328 print(book1 == book2) # False print(book1 >`` book2) # True print(book1 + book2) # Combined: 440 pages ```_

Dateiverwaltung

Lesen von Dateien

```python

Basic file reading

with open("file.txt", "r") as file: content = file.read() # Read entire file

with open("file.txt", "r") as file: lines = file.readlines() # Read all lines into list

with open("file.txt", "r") as file: for line in file: # Read line by line print(line.strip())

Reading with encoding

with open("file.txt", "r", encoding="utf-8") as file: content = file.read()

Reading JSON

import json with open("data.json", "r") as file: data = json.load(file)

Reading CSV

import csv with open("data.csv", "r") as file: reader = csv.reader(file) for row in reader: print(row) ```_

Schreiben von Dateien

```python

Basic file writing

with open("output.txt", "w") as file: file.write("Hello, World!")

Writing multiple lines

lines = ["Line 1\n", "Line 2\n", "Line 3\n"] with open("output.txt", "w") as file: file.writelines(lines)

Appending to file

with open("output.txt", "a") as file: file.write("Additional content\n")

Writing JSON

import json data = \\{"name": "Alice", "age": 30\\} with open("data.json", "w") as file: json.dump(data, file, indent=2)

Writing CSV

import csv data = [["Name", "Age"], ["Alice", 30], ["Bob", 25]] with open("data.csv", "w", newline="") as file: writer = csv.writer(file) writer.writerows(data) ```_

Fehlerbehebung

Versuche/Except Blöcke

```python

Basic exception handling

try: result = 10 / 0 except ZeroDivisionError: print("Cannot divide by zero!")

Multiple exception types

try: value = int(input("Enter a number: ")) result = 10 / value except ValueError: print("Invalid number format!") except ZeroDivisionError: print("Cannot divide by zero!")

Catch all exceptions

try: risky_operation() except Exception as e: print(f"An error occurred: \\{e\\}")

Finally block (always executes)

try: file = open("data.txt", "r") data = file.read() except FileNotFoundError: print("File not found!") finally: if 'file' in locals(): file.close()

Else block (executes if no exception)

try: result = 10 / 2 except ZeroDivisionError: print("Division by zero!") else: print(f"Result: \\{result\\}") finally: print("Operation completed")

Raising exceptions

def validate_age(age): if age < 0: raise ValueError("Age cannot be negative") if age > 150: raise ValueError("Age seems unrealistic") return age ```_

Beliebte Bibliotheken

Standardbibliothek

```python

datetime - Date and time handling

from datetime import datetime, date, timedelta now = datetime.now() today = date.today() tomorrow = today + timedelta(days=1) formatted = now.strftime("%Y-%m-%d %H:%M:%S")

os - Operating system interface

import os current_dir = os.getcwd() os.makedirs("new_directory", exist_ok=True) files = os.listdir(".") os.path.join("folder", "file.txt")

sys - System-specific parameters

import sys sys.argv # Command line arguments sys.exit() # Exit program sys.path # Python path

random - Random number generation

import random random.randint(1, 10) # Random integer random.choice([1, 2, 3]) # Random choice from list random.shuffle(my_list) # Shuffle list in place

collections - Specialized container datatypes

from collections import Counter, defaultdict, deque counter = Counter("hello world") # Count characters dd = defaultdict(list) # Dict with default values queue = deque([1, 2, 3]) # Double-ended queue

itertools - Iterator functions

import itertools itertools.count(10, 2) # Infinite counting: 10, 12, 14, ... itertools.cycle([1, 2, 3]) # Infinite cycling: 1, 2, 3, 1, 2, 3, ... itertools.combinations([1, 2, 3], 2) # All 2-element combinations ```_

Datenwissenschaft Bibliotheken

```python

NumPy - Numerical computing

import numpy as np arr = np.array([1, 2, 3, 4, 5]) matrix = np.array([[1, 2], [3, 4]]) zeros = np.zeros((3, 3)) ones = np.ones((2, 4)) random_arr = np.random.random((3, 3))

Pandas - Data manipulation

import pandas as pd df = pd.DataFrame(\\{"A": [1, 2, 3], "B": [4, 5, 6]\\}) df.head() # First 5 rows df.describe() # Statistical summary df.groupby("column").sum() # Group by and aggregate df.to_csv("output.csv") # Export to CSV

Matplotlib - Plotting

import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) plt.xlabel("X axis") plt.ylabel("Y axis") plt.title("Sample Plot") plt.show() ```_

Webentwicklung

```python

Requests - HTTP library

import requests response = requests.get("https://api.github.com/users/octocat") data = response.json() status = response.status_code

Flask - Web framework

from flask import Flask, request, jsonify app = Flask(name)

@app.route("/") def home(): return "Hello, World!"

@app.route("/api/data", methods=["GET", "POST"]) def api_data(): if request.method == "POST": data = request.json return jsonify(\\{"received": data\\}) return jsonify(\\{"message": "GET request"\\})

if name == "main": app.run(debug=True) ```_

Best Practices

Code Style (PEP 8)

```python

Naming conventions

variable_name = "snake_case for variables" CONSTANT_NAME = "UPPER_CASE for constants" class_name = "PascalCase for classes" function_name = "snake_case for functions"

Line length and formatting

Keep lines under 79 characters

long_variable_name = (some_function(arg1, arg2) + another_function(arg3, arg4))

Imports

import os import sys from collections import defaultdict

Whitespace

x = 1 # Spaces around operators y = x + 1 my_list = [1, 2, 3] # Spaces after commas my_dict = \\{"key": "value"\\}

Comments

This is a single-line comment

""" This is a multi-line comment or docstring for documentation """

def function_with_docstring(param1, param2): """ Brief description of the function.

Args:
    param1 (str): Description of param1
    param2 (int): Description of param2

Returns:
    bool: Description of return value
"""
return True

```_

Leistungsspitzen

```python

List comprehensions vs loops (faster)

Good

squares = [x**2 for x in range(1000)]

Less efficient

squares = [] for x in range(1000): squares.append(x**2)

Use built-in functions

Good

total = sum(numbers) maximum = max(numbers)

Less efficient

total = 0 for num in numbers: total += num

String concatenation

Good (for many strings)

result = "".join(string_list)

Less efficient (for many strings)

result = "" for s in string_list: result += s

Use generators for large datasets

def large_dataset(): for i in range(1000000): yield i * 2

Memory efficient

for value in large_dataset(): process(value) ```_

Dieses umfassende Python-Cheatsheet umfasst die wesentlichen Syntax, Konzepte und Bibliotheken, die für eine effektive Python-Entwicklung benötigt werden. Üben Sie diese Konzepte mit echten Projekten, um Python-Programmierung zu meistern.