在定义类的时候,有些属性是自动生成(无需人为定义),比如__doc__属性
主要作用是描述类的用途,可以理解该类的说明文档
1,类的文档字符串的定义
使用"""定义如下:
>>> class testClass:
"""this is a test Class""" ->这里是testClass类的文档描述,主要用于对类进行概要说明
i = 123
def f(self):
print("hello world!")
2,类的文档字符串的查看
(1)查看类的名称(所有的属性,方法名称的合集)
可以用dir()函数,查看该类中的所有名称,其中有__doc__属性
>>> dir(testClass)
['__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__', 'f', 'i']
>>>
可以用【类.属性】的方式查看具体的__doc__内容
>>> testClass.__doc__
'this is a test Class'
>>>
3,补充:可以在文档字符串中嵌入测试用例
为了提高测试效率,增加代码的质量,可以在文档字符串中嵌入测试用例.
使用doctest模块自动执行测试
>>> def average(values):
"""计算list里面各个数字的平均值.
>>> print(average([20, 30, 40])) (说明:这里的是执行的测试代码,下面是执行的结果)
30.0
>>> print(average([10, 20, 30]))
20.0
"""
return sum(values) / len(values)
>>> import doctest
>>> doctest.testmod()
TestResults(failed=0, attempted=2) #执行两次都成功了。