中常用的所有双下划线变量的列表在哪里?
在Python中,以双下划线开头和结尾的变量通常用于存储元数据或内置到系统中。例如,
#!/usr/bin/env python
__author__ = 'Michael0x2a'
__license__ = 'GPL'
class Test(object):
def __init__(self):
print 'Hello World!'
if __name__ == '__main__':
t = Test()我很肯定__author__和__license__是很有名的。还有哪些其他的双下划线元数据变量?有什么详细的清单可以查一下吗?我能弥补我自己的,还是有一堆已经成为事实上的标准,我应该使用?
像__init__、__name__和__doc__这样的东西几乎都内置在Python中。这是唯一保留的双下划线变量吗?还有别的吗?有什么地方可以给我名单吗?
编辑
发布于 2012-01-19 02:40:18
如果您想要查看神奇的名称,无论是否有文档记录,请转到Lib目录并运行:
egrep -oh '__[A-Za-z_][A-Za-z_0-9]*__' *.py | sort | uniq产生:
'__all__'
'__args__'
'__author__'
'__bases__'
'__builtin__'
'__builtins__'
'__cached__'
'__call__'
'__class__'
'__copy__'
'__credits__'
'__date__'
'__decimal_context__'
'__deepcopy__'
'__dict__'
'__doc__'
'__exception__'
'__file__'
'__flags__'
'__ge__'
'__getinitargs__'
'__getstate__'
'__gt__'
'__import__'
'__importer__'
'__init__'
'__ispkg__'
'__iter__'
'__le__'
'__len__'
'__loader__'
'__lt__'
'__main__'
'__module__'
'__mro__'
'__name__'
'__package__'
'__path__'
'__pkgdir__'
'__return__'
'__safe_for_unpickling__'
'__setstate__'
'__slots__'
'__temp__'
'__test__'
'__version__'发布于 2012-01-19 02:35:48
Python使用的完整列表在Python语言参考第3节,“数据模型”中给出。其他每个模块都是非标准的,或者是第三方模块使用的,并且是单独记录的.
发布于 2019-04-19 13:45:02
当我用
dir(object)我拿到了这些:
'__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__has
h__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__'
, '__setattr__', '__sizeof__', '__str__', '__subclasshook__'我认为它们是每个对象在python中都要使用的dunder。
https://stackoverflow.com/questions/8920341
复制相似问题