
Folgende Beispiele wurden generiert
Code: Alles auswählen
# Globale Variable
shared_variable = 0 # Diese Variable kann von mehreren Funktionen gelesen und geändert werden
# Funktion außerhalb von main()
def external_function():
"""Diese Funktion nutzt und ändert die globale Variable."""
global shared_variable
shared_variable += 10
print(f"External Function: shared_variable = {shared_variable}")
def main():
"""Hauptprogramm mit einer verschachtelten Funktion."""
# Lokale Variable in main(), die innerhalb von main() genutzt wird
local_variable = 5
def inner_function():
"""Verschachtelte Funktion, die eine lokale Variable ändert."""
nonlocal local_variable
global shared_variable
local_variable += 2 # Ändert die lokale Variable von main()
shared_variable += 20 # Ändert die globale Variable
print(f"Inner Function: local_variable = {local_variable}")
print(f"Inner Function: shared_variable = {shared_variable}")
print("Before inner_function:")
print(f"Main: local_variable = {local_variable}")
print(f"Main: shared_variable = {shared_variable}")
inner_function() # Ruft die verschachtelte Funktion auf
print("After inner_function:")
print(f"Main: local_variable = {local_variable}")
print(f"Main: shared_variable = {shared_variable}")
# Ruft die externe Funktion auf
external_function()
# Sicherstellen, dass das Programm nur ausgeführt wird, wenn es direkt gestartet wird
if __name__ == "__main__":
main()
Code: Alles auswählen
class Car:
# Klassenvariable
total_cars = 0
def __init__(self, make, model, year):
# Instanzvariablen
self.make = make
self.model = model
self.year = year
# Erhöht die Klassenvariable für jedes neue Auto
Car.total_cars += 1
def display_info(self):
"""Instanzmethode zur Anzeige der Auto-Informationen."""
print(f"Car: {self.year} {self.make} {self.model}")
@classmethod
def total_cars_created(cls):
"""Klassenmethode zum Anzeigen der Gesamtzahl der erstellten Autos."""
print(f"Total cars created: {cls.total_cars}")
def update_model(self, new_model):
"""Instanzmethode zum Ändern des Modells des Autos."""
self.model = new_model
def change_car_make(car, new_make):
"""Diese Funktion ändert die Marke eines übergebenen Autos."""
car.make = new_make
def main():
"""Hauptprogramm, das die Klassen und ihre Funktionen verwendet."""
# Erstellen von zwei Instanzen der Klasse Car
car1 = Car("Toyota", "Camry", 2020)
car2 = Car("Honda", "Civic", 2021)
# Anzeigen der Informationen für jedes Auto
print("Vor den Änderungen:")
car1.display_info() # Car: 2020 Toyota Camry
car2.display_info() # Car: 2021 Honda Civic
# Ändern der Instanzvariablen von car1 (Modell und Marke)
car1.update_model("Corolla") # Ändern des Modells über eine Instanzmethode
change_car_make(car1, "Ford") # Ändern der Marke über eine externe Methode
# Ändern der Klassenvariable
Car.total_cars += 1 # Füge ein weiteres Auto zur Gesamtzahl hinzu
# Anzeigen der neuen Informationen nach Änderungen
print("\nNach den Änderungen:")
car1.display_info() # Car: 2020 Ford Corolla
car2.display_info() # Car: 2021 Honda Civic
# Anzeigen der Gesamtzahl der Autos
Car.total_cars_created() # Output: Total cars created: 3 (wurde manuell erhöht)
# Das Programm nur ausführen, wenn es direkt gestartet wird
if __name__ == "__main__":
main()