J'ai été la navigation à travers un peu de code, et j'ai remarqué une ligne qui a attiré mon attention. Le code est similaire à l'exemple ci-dessous
class MyClass:
def __init__(self):
pass
def call_me(self=''):
print(self)
Cela ressemble à aucune autre classe que j'ai vu, mais un str
est transmis comme valeur par défaut pour self
.
Si j'ai imprimer self
, il se comporte comme normal
>>> MyClass().call_me()
<__main__.MyClass object at 0x000002A12E7CA908>
Cela a été m'énerve et je ne peux pas comprendre pourquoi ce serait utilisée. Est-il une raison pour laquelle une str
exemple serait passée comme une valeur par défaut pour self?