Je voulais faire attention au comportement des arguments par défaut de Python

Le comportement de l'argument par défaut de python semble être mal compris et effrayant, alors soyez prudent.

➜  ~ python
Python 2.7.11 (default, Feb  2 2016, 21:44:54)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> def func(arg={}):
...     return arg
...
>>> foo = func()
>>> foo['a'] = 'foo'
>>>
>>> bar = func()
>>> bar['b'] = 'bar'
>>> print(foo)
{'a': 'foo', 'b': 'bar'}
>>> print(bar)
{'a': 'foo', 'b': 'bar'}

L'argument par défaut est partagé entre les appels car il n'est évalué qu'une seule fois lorsque le module est chargé. Je me demande pourquoi j'ai fait cette spécification ...

Recommended Posts

Je voulais faire attention au comportement des arguments par défaut de Python
[Introduction à Udemy Python3 + Application] 51. Soyez prudent avec les arguments par défaut
À propos du comportement de yield_per de SqlAlchemy
Je voulais contester la classification du CIFAR-10 en utilisant l'entraîneur de Chainer
Une histoire sur l'écriture d'AWS Lambda et de devenir un peu accro aux valeurs par défaut des arguments Python
A propos du comportement de enable_backprop de Chainer v2
⚠️ Méfiez-vous des valeurs d'argument par défaut de Python ⚠️
A propos des arguments de la fonction setup de PyCaret
J'ai essayé de résumer la manière logique de penser l'orientation objet.
J'ai essayé de prédire le comportement du nouveau virus corona avec le modèle SEIR.
À propos du comportement de copy, deepcopy et numpy.copy
Je voulais jouer avec la courbe de Bézier
J'ai essayé de corriger la forme trapézoïdale de l'image
À propos du comportement de la file d'attente pendant le traitement parallèle
Je souhaite personnaliser l'apparence de zabbix
Je voulais juste comprendre le module Pickle de Python
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
L'opérateur and de l'expression d'évaluation de Python semble être évalué à partir de l'expression de gauche
J'ai utilisé Python pour découvrir les choix de rôle des 51 "Yachts" dans le monde.
Je voulais juste extraire les données de la date et de l'heure souhaitées avec Django
Vous devez faire attention aux commandes que vous utilisez quotidiennement dans l'environnement de production.
Je souhaite être informé de l'environnement de connexion lorsque RaspberryPi se connecte au réseau
Je veux grep le résultat de l'exécution de strace
Je voulais utiliser la bibliothèque Python de MATLAB
Je veux bien comprendre les bases de Bokeh
J'ai vérifié le système d'exploitation et le shell par défaut de docker-machine
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé de classer les voix des acteurs de la voix
Je souhaite augmenter la sécurité de la connexion SSH
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé d'approfondir la sécurité tout en calculant la finalité probabiliste de la preuve de travail
Résumé du savoir-faire en matière de mise en œuvre de Python et des conseils auxquels les ingénieurs en IA doivent faire attention
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de découvrir les grandes lignes de Big Gorilla
[Courses de chevaux] J'ai essayé de quantifier la force du cheval de course
Remarque sur le comportement par défaut de collate_fn dans PyTorch
Je voulais résoudre le concours de programmation Panasonic 2020 avec Python
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Je veux obtenir des informations sur le fonctionnement de Yahoo Route
J'ai fait une fonction pour vérifier le modèle de DCGAN
Une note sur le comportement de bowtie2 lors de plusieurs coups
Je voulais m'inquiéter du temps d'exécution et de l'utilisation de la mémoire
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
Je veux déterminer l'authenticité d'un élément du tableau numpy
J'ai essayé un peu le comportement de la fonction zip
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
Je veux connaître la nature de Python et pip
J'ai capturé le projet Toho avec Deep Learning ... je le voulais.
J'ai essayé de combattre le minimum local de la fonction Goldstein-Price
Keras Je veux obtenir la sortie de n'importe quelle couche !!
Je veux connaître la légende du monde des technologies informatiques
J'ai envoyé les données de Raspberry Pi à GCP (gratuit)
À propos des composants de Luigi
À propos des fonctionnalités de Python