python - 如何获取属性的文档字符串属性?
问题描述
当我学习 Python 描述符时,我遇到了这个例子
class Person(object):
def __init__(self):
self._name = ''
def fget(self):
print("Getting: %s" % self._name)
return self._name
def fset(self, name):
print("Setting: %s" % name)
self._name = name.title()
def fdel(self):
print("Deleting: %s" %self._name)
del self._name
name = property(fget, fset, fdel, "I'm the property.")
它使用property
功能。文章说第四个参数是doc – docstring ,
p1 = Person()
p1.name = "Islam"
print(p1.name)
print(p1.name.doc)
del p1.name
但是当我试图去医生时,它会引发
AttributeError: 'str' object has no attribute 'doc'
解决方案
首先,由于文档字符串是一个神奇的属性,它应该是一个double leading and trailing underscore
表单。所以,__doc__
不是doc
。
其次,当您尝试__doc__
从类的实例访问时,它将触发实际对象的 doc 属性,在这种情况下是一个字符串。相反,尝试从类对象访问属性:
In [74]: Person.name.__doc__
Out[74]: "I'm the property."
推荐阅读
- javascript - 引导模式联系表单提交不起作用
- python - 制作 Django Rest Framework (DRF) 工作流的方法
- vue.js - 在 Vue 路由解析之前访问 Vuex
- r - 手动将图例添加到 ggplot2
- networking - 如何使用 neo4j algo.pageRank 计算子图的 pagerank
- python - RuntimeError:cuda 运行时错误(30):torch/csrc/cuda/Module.cpp:32 的未知错误
- java - 在表中插入主键的问题
- java - Hibernate.initialize(...) 的问题我得到了 LazyInitializationException 但是当我调试时一切都很好
- swift - 选择单元格时出现奇怪的缩进和 imageView 行为
- node.js - jhipster app:打包时出现gulp错误