help(dir):
dir([object]) -> list of strings If called without an argument, return the names in the current scope. Else, return an alphabetized list of names comprising (some of) the attributes of the given object, and of attributes reachable from it. If the object supplies a method named __dir__, it will be used; otherwise the default dir() logic is used and returns: for a module object: the module's attributes. for a class object: its attributes, and recursively the attributes of its bases. for any other object: its attributes, its class's attributes, and recursively the attributes of its class's base classes.
我发现dir内置函数的帮助文件可能有问题,例如:
class AddrBookEntry(object):
'address book entry class'
def __init__(self,nm,ph):
self.name=nm
self.phone=ph
def updatePhone(self,newph):
self.phone=newph
print 'Updated phone # for :' ,self.name
dir(AddrBookEntry('tom','123'))
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name', 'phone', 'updatePhone']
1.dir()
可以列出对象的方法,而不仅仅是属性
updatePhone
是方法,不是属性。
2.我怎么知道dir()输出中哪个是属性,哪个是方法?
最佳答案
Python 中的方法是属性。
检查它们的各种属性。方法具有
im_*
属性。
关于python - python中的dir函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14513892/