class Foo:
"""this is Foo"""
typecode = ‘d‘
def __init__(self, x):
self.x = x
__doc__:类的描述信息
print(f.__doc__) # this is Foo
__module_:对象所属modul,如果是当前执行文件的即__main__,如果是import的,可以查看所属的module
print(f.__module__) # __main__
import pandas as pd df = pd.DataFrame() print(df.__module__) # pandas.core.frame
__class__:对象所属类,等效于type
print(f.__class__) # <class ‘__main__.Foo‘> print(type(f)) # <class ‘__main__.Foo‘>
__call__:让类的实例变为可调用
class Foo:
def __call__(self, *args, **kwargs):
return 1
print(Foo()()) # 1,第一次()是实例化,第二次()是调用
__dict__:
打印所有实例的属性(不包括类属性):
f = Foo(1)
print(f.__dict__) # {‘x‘: 1}
打印所有类属性(不包括实例的属性):
for k, v in Foo.__dict__.items():
print(k, v)
输出为:
__module__ : __main__
__doc__ : this is Foo
typecode : d
__init__ : <function Foo.__init__ at 0x000001AC45314620>
__dict__ : <attribute ‘__dict__‘ of ‘Foo‘ objects>
__weakref__ : <attribute ‘__weakref__‘ of ‘Foo‘ objects>
__getitem__、__setitem__、__delitem__:[]运算符,获取/设置/删除分量
__new__:待补充
__metaclass__:待补充
__init__:略
__del__:略
__str__:略
__repr__:略
原文:https://www.cnblogs.com/guxh/p/10263208.html