10.2.2 使用 help 获取帮助
前面一直在巧妙地利用你熟悉的各种Python函数和特殊属性来探索模块copy。对这种探索来说,交互式解释器是一个强大的工具,因为使用它来探测模块时,探测的深度仅受限于你对Python语言的掌握程度。然而,有一个标准函数可提供你通常需要的所有信息,它就是help。下面来尝试使用它获取有关函数copy的信息:
>>> help(copy.copy)
Help on function copy in module copy:
copy(x)
Shallow copy operation on arbitrary Python objects.
See the module's __doc__ string for more info.
上述帮助信息指出,函数copy只接受一个参数x,且执行的是浅复制。在帮助信息中,还提到了模块的__doc__字符串。 __doc__字符串是什么呢?你可能还记得,第6章提到了文档字符串。文档字符串就是在函数开头编写的字符串,用于对函数进行说明,而函数的属性__doc__可能包含这个字符串。从前面的帮助信息可知,模块也可能有文档字符串(它们位于模块的开头),而类也可能如此(位于类的开头)。
实际上,前面的帮助信息是从函数copy的文档字符串中提取的:
>>> print(copy.copy.__doc__)
Shallow copy operation on arbitrary Python objects.
See the module's __doc__ string for more info.
相比于直接查看文档字符串,使用help的优点是可获取更多的信息,如函数的特征标(即它接受的参数)。请尝试对模块copy本身调用help,看看将显示哪些信息。这将打印大量的信息,包括对copy和deepcopy之间差别的详细讨论(大致而言, deepcopy(x)创建x的属性的副本并依此类推;而copy(x)只复制x,并将副本的属性关联到x的属性值)。
领取专属 10元无门槛券
私享最新 技术干货