如何撤回字符串 Docstring 功能 python 来自功能本身?
我想打印函数文档字符串 python 从函数本身的内部。
例如。
目前我在定义后立即完成
.
但更好地让功能使其成为自身。
我试着打电话
和
里面 my_function, 但它没有工作。
例如。
def my_function/self/:
"""Doc string for my function."""
# print the Docstring here.
目前我在定义后立即完成
my_function
.
print my_function.__doc__
但更好地让功能使其成为自身。
我试着打电话
print self.__doc__
print self.my_function.__doc__
和
print this.__doc__
里面 my_function, 但它没有工作。
没有找到相关结果
已邀请:
8 个回复
卫东
赞同来自:
只要您没有将对象绑定到名称的对象,它就会起作用
.
你会做的情况,相当罕见,但他们发生了。
但是,如果您编写如下装饰符:
现在你可以做到:
它保证您的功能将收到自己的链接 /相似地
/ 作为你的第一个参数,所以它可以总是得到一个字符串 docstring 适当的功能。 当用于通常的方法时
成为第二个论点。
君笑尘
赞同来自:
反而 getdoc, 但我喜欢它,所以这正是我使用的。 此外,它还不要求您了解名称 class/method/function.
类,方法和功能的示例。 告诉我,如果不是你在寻找什么 :/
詹大官人
赞同来自:
在 Python 2.7.1
它还有效:
但是,它本身就无法工作:
NameError: 全球名称 'my_function' 不是绝对
莫问
赞同来自:
它确实你想要的。
这里没有什么特别的。 一切都发生了 - 这是什么,制作
在函数中,推迟到足够长的属性的权限以搜索
它在你期待时工作。
我用它 docopt 对于点输入控制台方案。
小姐请别说爱
赞同来自:
适合,因为 my_function 位于全球名称空间。
对于类方法,然后
将是去的方式。
如果您不想指定方法的名称,而且将其发送变量,则可以使用内置函数。 hasattr/object,attribute/ 和 getattr/obj, attr/, 正如他们所说的那样,允许您使用作为方法名称的行传输变量。 例如
董宝中
赞同来自:
相等的
如果你想看到一个字符串 doc 来电者,它仍然不起作用,因为你的打印助手可以生活在一个完全不同的模块中,完全不同的字典 globals//. 唯一的正确选择是调查堆栈框架 , 但 Python 不给您执行对象,它只对代码对象引用 "f_code". 但继续去,因为还有一个链接 "f_globals" 这项特征。 所以你可以写一个功能来获得 doc 以这种方式导致订阅者,以及您将获得自己的字符串 doc.
然后去看看:
导致此输出
事实上,大多数人都想要自己的行 doc 仅作为参数传输,但被称为辅助功能可以搜索自己的。 我在我的毫无间程的代码中使用它,有时可以方便地填充一些日志或线条。 doc 作为测试数据。 这就是呈现的原因 get_caller_doc// 寻找仅全局测试函数和Dick-Class成员函数,但我认为这对想要了解字符串的大多数人来说足够了 doc.
确定正确的一个 get_frame_doc /frame/ 从 sys._getframe/1/ 遗迹 reader//.
帅驴
赞同来自:
/*/ 后
没有结肠 /
/
奔跑吧少年
赞同来自:
在课堂公告之后,之前立即
, 将打印一个字符串 doc 每次启动具有类的对象时,在控制台中