[PYTHON] Vorsichtsmaßnahmen bei Verwendung einer Liste oder eines Wörterbuchs als Standardargument

Beachten Sie, dass Listen und Wörterbücher als Referenz übergeben werden

def test_func(x, l=[]):
    l.append(x)
    return l


r = test_func(100)
print(r)

r = test_func(100)
print(r)

Ich hätte eine leere Liste als Standardargument erstellen sollen ...

[100]
[100, 100]

Gehen Sie wie folgt vor, um sich zu verbessern

def test_func(x, l=None):
    if l is None:
        l = []
    l.append(x)
    return l


r = test_func(100)
print(r)

r = test_func(100)
print(r)

Ausgabe:

[100]
[100]

Recommended Posts

Vorsichtsmaßnahmen bei Verwendung einer Liste oder eines Wörterbuchs als Standardargument
Extrahieren Sie den Wert von dict oder list als Zeichenfolge
Vorsichtsmaßnahmen bei Verwendung der Funktion urllib.parse.quote
Wenn Sie eine Liste mit dem Standardargument der Funktion angeben ...
Verwenden Sie das elektronische Papiermodul als Aufgabenliste
Gibt es keinen Standardwert im Wörterbuch?
Geben Sie kein veränderbares Objekt (Listentyp, Wörterbuchtyp usw.) als Anfangswert des Funktionsarguments von Python an.
Ich habe die Referenzgeschwindigkeit überprüft, wenn ich Python-Liste, Wörterbuch und Set-Typ verwendet habe.
Ein einfacher Unterschied bei der Übergabe eines Zeigers als Funktionsargument
Vorsichtsmaßnahmen bei der Verwendung von Chainer
Erstellen einer Liste, wenn die Nomenklatur für einen bestimmten Zeitraum gültig ist
Durchsuchen Sie die Tabelle mit sqlalchemy und erstellen Sie ein Wörterbuch
Eine Geschichte, nach der ich süchtig war, als ich in Go nil als Funktionsargument angab
Probleme bei der Verwendung von Elasticsearch als Datenquelle in Redash
Ansible-Modul So fügen Sie die als Parameter übergebene Zeichenfolge JSON beim Schreiben in das Wörterbuch ein
Seien Sie vorsichtig, wenn Sie den Standardargumentwert in der Python 3-Serie angeben
Vorsichtsmaßnahmen beim Erstellen eines zweidimensionalen Arrays mit denselben Werten
Die Geschichte, dass ein Hash-Fehler bei der Verwendung von Pipenv auftrat
Verwendung von Lambda (beim Übergeben einer Funktion als Argument einer anderen Funktion)
Versuchen Sie, Elasticsearch als Grundlage für Ihr Frage- und Antwortsystem zu verwenden
Erweiterung von Python um C oder C ++ (wenn es mehrere Argumente gibt, wenn eine Liste von der Python-Seite übergeben wird)
Die Geschichte, einen Slackbot zu erstellen, der beim Senden des Verarbeitungscodes ein GIF oder PNG ausgibt
Ein Memorandum bei der Verwendung von schöner Suppe
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
Vorsichtsmaßnahmen beim Erben der DatasetMixin-Klasse
Vorsichtsmaßnahmen bei der Verwendung der TextBlob-Merkmalsanalyse
Erstellen Sie ein verschachteltes Wörterbuch mit defaultdict
Vorsichtsmaßnahmen bei der Verwendung von Codecs und Pandas
Vorsichtsmaßnahmen beim Erstellen eines Python-Generators
Beim Erstellen einer Matrix in einer Liste
Vorsichtsmaßnahmen bei der Verwendung von Phantomjs aus Python
Vorsichtsmaßnahmen bei Verwendung von sechs mit Python 2.5
Schieben Sie die Hash-Liste in VT und erhalten Sie das Erkennungsergebnis als Liste
Ein nützlicher Hinweis, wenn Sie Python nach langer Zeit verwenden