Python dir()和help()帮助函数

前面,我们已经学习了很多字符串变量提供的方法,如 split()、join()、find()、index() 等,但这远远不是它的全部方法。由于篇幅有限,本章只能给大家列举一些最常用的方法。至于其他的方法,读者可通过本节介绍的 2 个帮助函数自行查看。

Python 非常方便,它不需要用户查询文档,只需掌握如下两个帮助函数,即可查看 Python 中的所有函数(方法)以及它们的用法和功能:
  1. dir():列出指定类或模块包含的全部内容(包括函数、方法、类、变量等)。
  2. help():查看某个函数或方法的帮助文档。

例如,要查看字符串变量(它的类型是 str 类型)所能调用的全部内容,可以在交互式解释器中输入如下命令:

>>> dir(str)
['__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']
>>>

上面列出了字符串类型(str)提供的所有方法,其中以“_”开头、“_”结尾的方法被约定成私有方法,不希望被外部直接调用。

其实,本章中一直在说的“字符串变量”,只是为了方便初学者理解,严格意义上说是不对的,它应该是字符串 str 类的对象,由于涉及到了 Python 类的知识,后续章节才会介绍,这里不过多赘述,初学者只需要知道,以“_”开头、“_”结尾的方法不能以“字符串变量 . 方法”的形式调用就可以了。

如果希望查看某个方法的用法,则可使用 help() 函数。例如,在交互式解释器中输入如下命令:

>>> help(str.title)
Help on method_descriptor:

title(...)
    S.title() -> str
   
    Return a titlecased version of S, i.e. words start with title case
    characters, all remaining cased characters have lower case.

>>>

从上面介绍可以看出,title() 方法的使用形式是“str.title()”,其功能是将字符串中所有单词的首字母大写,其他所有字符全部改为小写。

通过使用 dir() 和 help() 函数,我们就可以查看字符串变量所能调用的所有方法,包括他们的使用方法和功能等。

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

QQ交流群