我一直在阅读有关dir函数的信息,这是w3schools的解释。
定义和用法
dir()
函数返回指定的所有属性和方法 对象,没有值。此函数将返回所有属性和方法,甚至 内置属性,默认为所有对象。
语法
dir(object)
其中object是对象 您想查看的有效属性
然后我尝试使用dir(print)
与dir('print')
之类的不同值进行尝试,并观察到它们正在产生不同类型的输出。
目录(打印)
>>> dir(print)
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']
>>>
dir('print')
>>> dir('print')
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>>
我的问题是这2个有什么区别?在此示例中,dir()
与dir('function')
或dir(print)
与dir('print')
相比。
答案 0 :(得分:4)
dir('print')
您正在将字符串传递给dir()
,因此它为您提供了str
类的所有属性和方法。
正如BlueRine所说:
dir('dasdasd') == dir('print')
将始终返回True