Warum erzwingt Python nicht die gleiche Identifikation wie für Funktionen?
Wie soll ich ein generisches getitem schreiben, bei dem ich die Anzahl der Indizes wissen möchte? Kann ich zwischen 1 Rohindex x und 1 Tupelindex (x,) unterscheiden? Gibt es eine Möglichkeit, getitem zu schreiben, damit die Identifikation gültig wird?
class B: def __getitem__(self, args): print(args.__class__, args)
def f(*args): print(args.__class__, args)
def g(args): print(args.__class__, args) [/code] Für Funktionen (f oder g) können wir f(1) = f(*(1,)) = f(1,) identifizieren, aber beim Slicing gibt es einen Unterschied: [list] [*][code]A()[x][/code] empfängt das rohe Indexerobjekt x (Schlüssel oder Slice), während A()[x,y] ein Tupel (x,y)
[*] empfängt[code]B()[x][/code] empfängt (x,), während B()[x,]((x,)) empfängt
[/list] [list] [*]Warum erzwingt Python nicht die gleiche Identifikation wie für Funktionen?
[*]Wie soll ich ein generisches getitem schreiben, bei dem ich die Anzahl der Indizes wissen möchte? Kann ich zwischen 1 Rohindex x und 1 Tupelindex (x,) unterscheiden? Gibt es eine Möglichkeit, getitem zu schreiben, damit die Identifikation gültig wird?
Wenn ich versuche, das Protokollierungsverhalten in meinem BasehttprequestHandler -SubClass wie folgt zu überschreiben:
from http.server import BaseHTTPRequestHandler
Ich habe ein Unity3D-Projekt und eine Inventory-Klasse, eine Item-Klasse und eine CraftingSystem-Klasse.
In meiner Inventory-Klasse Ich habe das Inventar selbst als Wörterbuch definiert, wobei die...
Ich habe ein Unity3D-Projekt und eine Inventory-Klasse, eine Item-Klasse und eine CraftingSystem-Klasse.
In meiner Inventory-Klasse Ich habe das Inventar selbst als Wörterbuch definiert, wobei die...
Ich habe ein Unity3D-Projekt und eine Inventory-Klasse, eine Item-Klasse und eine CraftingSystem-Klasse.
In meiner Inventory-Klasse Ich habe das Inventar selbst als Wörterbuch definiert, wobei die...