Python 中的 help() 和 dir() 函数有什么用?
在 Python 里有两个特别实用的小工具,help() 和 dir(),很多人学到一半就忽略了,但其实它们能帮你少掉好多坑。就像平时用手机软件时遇到不懂的按钮,如果有个随手可查的小助手,效率就完全不一样了。
help():内置说明书
你可以把 help() 理解成 Python 自带的“说明书查询器”。比如昨天我在调试一个字符串的函数,忘了 str.split() 默认是怎么分割的,于是直接在交互式环境里敲:
help(str.split)
它会直接弹出一段文档,告诉你参数的用法、返回值是什么。就算记不住 API 的细节,随时查就行了。甚至你什么都不写,直接输入:
help()
会进入一个交互式的帮助系统,可以一步步探索各种模块和函数,算是 Python 内置的“说明文档浏览器”。
dir():看一眼能干什么
如果说 help() 是说明书,那 dir() 更像是“功能列表”。有时候你拿到一个对象,不知道它有哪些方法,直接:
dir(str)
它会返回一个列表,里面全是 str 类型能用的方法和属性,比如 upper、lower、split 这些,连一些双下划线的魔法方法也能看到。
再比如,你临时写了个类:
classPerson:
def__init__(self, name):
self.name = name
defgreet(self):
returnf"Hello, I'm {self.name}"
p = Person("Alice")
print(dir(p))
输出里就能看见 greet,还会包含一堆 Python 自带的对象方法。这样你就能迅速知道一个对象能做什么。
两个结合起来用
最好玩的是把 dir() 和 help() 一起用。先用 dir() 找到有哪些方法,然后挑一个扔进 help() 里看细节。比如:
methods = dir(list)
print(methods[:5]) # 先随便看看前几个help(list.append) # 进一步查某个方法
这样就不用去翻外部文档,直接在 Python 里能完成大部分探索。
什么时候用它们?
忘记标准库函数的用法时 接手别人写的类或对象,想快速熟悉 写脚本时临时查一下,避免切来切去开浏览器
我个人习惯就是,遇到“忘了参数顺序”或者“不知道对象到底有什么属性”的时候,先敲 help() 或 dir(),比搜索引擎还快。
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB,点击下方公众号回复关键字 python 全部免费领