1. 不带参数:查看当前作用域
# 定义一些变量
x = 10
name = "Alice"
my_list = [1, 2, 3]
# 查看当前作用域中的名称
print(dir())
# 输出结果示例:
# ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__',
# '__package__', '__spec__', 'my_list', 'name', 'x']
掌握Python内置的dir()函数,成为更高效的开发者
dir()
是Python内置的一个强大函数,用于查看对象的属性和方法列表。它是Python开发中不可或缺的工具,尤其在探索新模块或调试代码时。
主要功能:
dir()
函数有两种使用方式:
# 1. 不带参数:返回当前作用域中的名称列表
dir()
# 2. 带参数:返回指定对象的有效属性列表
dir([object])
# 定义一些变量
x = 10
name = "Alice"
my_list = [1, 2, 3]
# 查看当前作用域中的名称
print(dir())
# 输出结果示例:
# ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__',
# '__package__', '__spec__', 'my_list', 'name', 'x']
# 查看内置函数和属性
print(dir(__builtins__))
# 输出将包含所有内置函数,如:'abs', 'all', 'any', 'bin', 'bool',
# 'bytearray', 'bytes', 'callable', 'chr', 'classmethod' 等
# 创建一个列表
fruits = ["apple", "banana", "cherry"]
# 查看列表的所有方法
print(dir(fruits))
# 输出结果示例:
# ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
# '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
# '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
# '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__',
# '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__',
# '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__',
# '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index',
# 'insert', 'pop', 'remove', 'reverse', 'sort']
# 定义一个简单的类
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
return f"Hello, my name is {self.name}"
# 创建实例
p = Person("Bob", 30)
# 查看实例的属性和方法
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', 'greet', 'name']
当你导入一个新模块时,使用dir()可以快速查看其提供的函数和类:
import math
print(dir(math))
当不确定对象有哪些可用属性时,dir()可以提供线索:
import datetime
now = datetime.datetime.now()
print(dir(now)) # 查看datetime对象的所有属性
查看类及其父类的所有方法:
class MyList(list):
pass
print(dir(MyList)) # 包含list的所有方法
dir()通常与help()函数配合使用,可以更深入地了解对象的方法和属性:
# 结合使用dir()和help()
import math
# 查看math模块的所有内容
print(dir(math))
# 查看特定函数的帮助文档
help(math.sqrt)
提示: 在交互式环境(如Python Shell或Jupyter Notebook)中,可以先用dir()找到感兴趣的方法,再用help()查看详细文档。
dir()是Python开发者工具箱中不可或缺的工具,它帮助你探索和理解代码中的对象,减少查阅文档的时间,提高开发效率。
本文由YuchiSong于2025-07-26发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://www.521pj.cn/20256550.html
发表评论