Also bedeutet "None" im Grunde genommen, dass es in Ordnung ist, keinen Wert an eine Variable angehängt zu haben, wenn "variable = None". Einfach bestätigen! Vielen Dank!
Nr Wenn Sie eine Funktion wie folgt definieren:
def add_num(x,y,z=None):
x
und y
sind "position" Argumente, und sie sind verpflichtet, während z
ein Schlüsselwort ist Argument. Schlüsselwortargumente haben Standardwerte, die verwendet werden, wenn Sie beim Aufruf der Funktion keine angeben. Statt None, könnten Sie genauso gut geschrieben haben:
def add_num(x,y,z=0):
Oder:
def add_num(x,y,z=5):
Etc. In jedem Fall werden Sie einen Standardwert für z
Einstellung, wenn es nicht in der Funktion zur Verfügung gestellt Anruf.
Beachten Sie, dass, wenn Sie mehrere Keyword-Argumente haben, wie folgt aus:
def do_something(x, y, size='medium', name=None):
, dass man sie mit Werten als Positionsargumente liefern kann, wobei in diesem Fall die Argumente in der entsprechenden Reihenfolge sein müssen:
do_something(1,2, 'large', 'alice')
Sie können aber auch Keyword-Argumente in beliebiger Reihenfolge angeben, indem Sie ihren Namen im Funktionsaufruf bereitstellt, wie folgt aus:
do_something(1, 2, name='alice', size='large)
Und Sie brauchen keine Werte zur Verfügung zu stellen, wenn Sie mit dem Standard zufrieden sind:
do_something(1, 2, name='alice')
Was meinen Sie mit "Ist es in Ordnung, keinen Wert an eine Variable angehängt zu haben"? –
'None' ist ein Objekt vom Typ' NoneType'. Siehe https://docs.python.org/3/library/constants.html –
jemand antwortete über die Verwendung von 'is None' anstelle von' == None'. Das ist üblich, aber nicht zwingend. Es ist nur so, dass "is" Objektidentitäten prüft, während equals bei gleicher Identität True ist, aber auch für Objektkopien. Aber da 'None' ein Singleton ist, kann man keine Kopie haben, es wird immer dasselbe Objekt sein, wenn True. – progmatico