【发布时间】:2018-05-09 20:26:38
【问题描述】:
假设你有一个类,并且你将它定义为:
class A:
pass
当你使用该功能时:
dir(A)
返回类包含的所有方法和属性:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
我的问题是,在它们之前和之后带有双下划线的方法是什么,例如__class__,__delattr__,__dict__,__init__,调用?我假设它们被称为构造函数,但经过研究 - 似乎该术语仅指__init__ 函数。有谁知道是否有特定的类别可以调用这些方法?
【问题讨论】:
-
dunder 方法,用于 double underscore。
-
搜索了一下,发现了“神奇的方法”,但无论如何,这就是我所需要的
标签: python python-3.x oop naming