为了丰富学员们的课外知识,老师让我们助理分享这套Python系列教程。由于Python教程并非老师所写,所以不如老师的AI教学风趣幽默,望大家见谅!想要学习AI技术的新朋友可以去www.captainbed.net。本公众号由助理负责运营,只免费分享课外知识,不回复任何私信。



经常会有新手在阅读他人代码时提出这样的问题:这个对象有些什么方法呀?这个函数是什么意思怎么用呀?百度查了老半天但是查不到呀...


其实根本不需要去百度查,或者是去到处问人。因为python内部有专门的函数来帮助你。


对于一个对象,你可以调用内置的dir函数,它将会返回一个列表,其中包含了对象的所有属性。由于方法是函数属性,它们也会在这个列表中出现:



.>>> dir(S)


['__add__','__class__','__contains__','__delattr__','__doc__','__eq__',


'__format__','__ge__','__getattribute__','__getitem__','__getnewargs__',


'__gt__','__hash__','__init__','__iter__','__le__','__len__','__lt__',


'__mod__','__mul__','__ne__','__new__','__reduce__','__reduce_ex__',


'__repr__','__rmod__','__rmul__','__setattr__','__sizeof__','__str__',


'__subclasshook__','_formatter_field_name_split','_formatter_parser',


'capitalize','center','count','encode','endswith','expandtabs','find',


'format','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']


这个列表的变量名中有下划线的内容代表了字符串对象的实现方式,并支持定制,这个知识点我们以后再学习,当前先忽略它们。而这个列表中没有下划线的属性是字符串对象真正能够调用的方法。



dir函数只是简单地给出了方法的名称。要查询它们是做什么的,你可以将其传递给help函数。



.>>> help(S.replace)


Help on built-in function replace:




replace(...)


    S.replace (old,new[,count]) -> str


    Return a copy of S with all occurrences of substring


    old replaced by new.If the optional argument count is


    given,only the first count occurrences are replaced.


就像PyDoc一样(一个从对象中提取文档的工具),help是一个随Python一起分发的面向系统代码的接口。后面你将会发现PyDoc还能够将其结果生成HTML格式。


你也可以对整个字符串使用帮助查询函数[例如,help(S)],它会返回所有的字符串方法的详细信息。一般最好去查询一个特定的方法,就像我们上边所做的那样。