我知道python2已经过时了,但我不明白为什么下面的示例中注释很重要:
$ python2 --version
Python 2.7.16不带注释:
class A:
a = (0, "a")
b = (1, "b")
a = filter(lambda x: getattr(A, x)[0]==1, dir(A))
print(a)$ python2 b.py
Traceback (most recent call last):
File "b.py", line 6, in <module>
a = filter(lambda x: getattr(A, x)[0]==1, dir(A))
File "b.py", line 6, in <lambda>
a = filter(lambda x: getattr(A, x)[0]==1, dir(A))
TypeError: 'NoneType' object has no attribute '__getitem__'带注释:
class A:
"""
"""
a = (0, "a")
b = (1, "b")
a = filter(lambda x: getattr(A, x)[0]==1, dir(A))
print(a)$ python2 b.py
['b']发布于 2020-12-08 05:14:09
docstrings是在Python2的类对象中实现的特性。您可以在此处找到更多信息:Python Docstring
它们在确定一个类/方法做什么时非常有用。
如果我们使用你的类:A,并给它一个合适的docstring
class A:
"""A Class assigns tuples to variable a and b """
a = (0, "a")
b = (1, "b")我们可以调用:
print(A.__doc__)为了方便地了解A方法的作用。通过将docstrings放在类的方法中,您可以调用这些方法来了解特定方法的作用。
如果你有任何其他问题,请告诉我。
https://stackoverflow.com/questions/65189203
复制相似问题