bool
, der das Ergebnis einer logischen Operation darstellt, ist ebenfalls ein Objekt vom numerischen Typ.Integrierte Funktionen für Objektattribute
>>> setattr(obj, 'ham', 100) # obj.ham =Gleich wie 100
>>> getattr(obj, 'ham', 999) # try:
100 # return obj.ham
# except AttributeError:
# return 999
#Gleich wie (Standardwert kann weggelassen werden)
>>> delattr(obj, 'ham') # del obj.Gleich wie Schinken
>>> hasattr(obj, 'ham') #Gibt True zurück, wenn der Attributname in obj vorhanden ist
False
NoneType
(das einzige Objekt dieses Typs)Singleton-Objektprüfprozess
# ==Es ist schneller als es ist und darüber hinaus==Operatoren können unabhängig von dem zu vergleichenden Objekt implementiert werden (Beurteilungsergebnis kann nicht garantiert werden)
#(Ich bin nicht sicher, ob ich es unabhängig mit dem zu vergleichenden Objekt implementieren kann.)
>>> spam = 1
>>> spam == None #So nicht
False
>>> spam is None #so was
False
Ellipse
.Beispiel für die Verwendung eines Ellipsenobjekts
>>> ... #Ab Python3 ist es möglich, mit diesem Literal zu schreiben
Ellipsis
#Stellt den ausgelassenen Teil des Beispielcodes dar
def spam():
...
#Es kann sinnvoll sein, darauf hinzuweisen, dass der Wert nicht explizit angegeben wird
ham = ...
egg = (1, 2, ...)
Verschiedene Möglichkeiten, Argumente zu übergeben
spam(0, 1, 2, 3, 4) #das ist
args = [0, 1, 2, 3, 4] #Speichern Sie es in einem iterierbaren Objekt
spam(*args) #Kann so geschrieben werden
spam(a = bacon, b = sausage) #Das ist
kwargs = {
"a":bacon,
"b":sausage
} #Wenn Sie es in einem Mapping-Objekt speichern
spam(**kwargs) #Kann so geschrieben werden
()
ist auch nur ein Operator, also Funktionsaufruf = nur "wende den
()
Operator auf ein Objekt an"()
definiert oder nicht __()
definiert, heißt __callable object __py:Weil die Methode des Objekts auch ein aufrufbares Objekt ist...
>>> spam.ham(egg) #Rufen Sie die ham-Methode des Spam-Objekts auf
>>> method = spam.ham #Ruft das ham-Attribut des Spam-Objekts ab
>>> method(egg) #Wenn Sie so schreiben, können Sie die Methode aufrufen (wow)
Das Zuweisen zu einer Variablen bedeutet, dass es möglich ist, mit dem Variablennamen auf ein Objekt zu verweisen.
>>> spam = [1, 2, 3, 4] #Stellen Sie die Variable Spam so ein, dass sie auf ein Listenobjekt verweist
>>> ham = spam #Wenn ham einer anderen Variablen ham zugewiesen wird, verweist er auch auf dasselbe Objekt
>>> ham
[1, 2, 3, 4]
>>> spam.append('five') #Wenn Sie einem Listenobjekt ein Element hinzufügen
>>> spam #Da sich sowohl Spam als auch Ham auf dasselbe Objekt beziehen,
[1, 2, 3, 4, 'five']
>>> ham #Das angezeigte Ergebnis ist das gleiche
[1, 2, 3, 4, 'five']
In diesem Fall wird ein neues Objekt erstellt
>>> egg = bacon = 1
>>> egg = egg + 1 # egg +1 gibt ein neues Objekt zurück
>>> egg
2
>>> bacon
1
Substitution auf einmal
>>> spam = [1, 2, 3]
>>> first, second, third = spam
>>> first, second, third #Zerlegt und weist Elemente iterierbarer Objekte zu
(1, 2, 3)
>>> (a, [b, c], d) = (1, (2, 3), 4) #Die linke Seite ist[]Oder()Kann durch Umgeben mit weiter zerlegt werden
>>> a, b, c, d
(1, 2, 3, 4)
Wenn auf der rechten Seite mehr Elemente als auf der linken Seite Variablen vorhanden sind
# *Wenn es eine Variable mit gibt, wird sie dem Listenobjekt auf nette Weise zugewiesen
>>> spam, ham, *egg = 1, 2, 3, 4, 5
>>> spam, ham, egg
(1, 2, [3, 4, 5])
>>> spam, *ham, egg = 1, 2, 3, 4, 5
>>> spam, ham, egg
(1, [2, 3, 4], 5)
>>> *spam, ham, egg = 1, 2, 3, 4, 5
>>> spam, ham, egg
([1, 2, 3], 4, 5)
Wenn die Anzahl der Elemente auf der rechten Seite kleiner ist als die Variable auf der linken Seite
# *Variablen mit sind eine leere Liste mit 0 Elementen
>>> spam, ham, *egg = 1, 2
>>> spam, ham, egg
(1, 2, [])
Recommended Posts