Python中的dir函数用法及示例
发布时间:2023-06-23 16:41:09
在Python中,dir()函数是一个非常有用的内置函数,用于列出对象的所有成员。在本文中,我们将讨论dir()函数的用法及示例。
1. 用法
dir()函数用于列出指定对象的所有属性和方法。如果没有指定对象,则返回当前作用域内的所有属性和方法。
dir([object])
参数说明:
object:可选参数,指定要列出其属性和方法的对象。如果未指定对象,则返回当前作用域内的所有属性和方法。
返回值:返回一个包含所有属性和方法名称的列表。
2. 示例
2.1 列出当前作用域内的所有属性和方法
示例代码:
print(dir())
输出结果:
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
说明:
以上输出结果是在Python交互式环境下运行的。可以看到,输出了当前作用域内的所有属性和方法,包括内置对象、模块和变量等。
2.2 列出指定对象的所有属性和方法
示例代码:
import math print(dir(math))
输出结果:
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
说明:
以上示例代码先通过import语句导入了math模块,然后使用dir()函数列出了math模块的所有属性和方法。
2.3 列出自定义类的所有属性和方法
示例代码:
class MyClass:
def __init__(self):
self.a = 1
self.b = 2
def foo(self):
print('foo')
print(dir(MyClass))
输出结果:
['__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__', 'foo']
说明:
以上示例代码定义了一个名为MyClass的自定义类,包含两个属性a和b,以及一个方法foo()。然后使用dir()函数列出了MyClass类的所有属性和方法,包括类的内置属性和方法。
