Python中dir()函数的用法及示例解析
发布时间:2023-07-03 11:40:44
在Python中,dir()函数用于获取一个对象的属性和方法列表。它返回一个按字母顺序排序的字符串列表,包含对象所包含的所有属性、方法和内建属性。
dir()函数有一个可选参数,用于指定需要获取的对象。如果没有提供参数,则dir()函数返回当前作用域中的所有属性和方法。
下面是dir()函数的用法示例:
1. 使用dir()获取当前作用域中的所有属性和方法:
print(dir())
输出结果:
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
2. 使用dir()获取某个模块的属性和方法:
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', 'float_repr_style', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
3. 使用dir()获取某个对象的属性和方法:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print("Hello, my name is", self.name)
p = Person("Alice", 25)
print(dir(p))
输出结果:
['__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__', 'age', 'name', 'say_hello']
通过dir()函数可以直观地查看一个对象的属性和方法,对于探索和了解第三方库或模块的功能非常有帮助。它可以帮助我们快速定位需要使用的属性和方法,提高开发效率。
