【发布时间】:2017-08-22 10:58:14
【问题描述】:
简单的问题——我可以打印这个if的源代码吗?
if __name__ == '__main__':
# ...
# this is the `if` I want to print
# V
if args and args[0][0] == '-':
if args[0] in ('--help','-h','-?'):
print_source_of_block(level=2)
icase = 'i' in args[0]
desc = 'd' in args[0]
args = args[1:]
请不要问我为什么需要它,也不要给我关于如何编写用户帮助的建议。我想知道,因为我很好奇。
【问题讨论】:
-
我不问你为什么需要这个,但这里有一些基本问题。你在文件或函数中有这个sn-p?它是否是对象的一部分?到目前为止你搜索过吗?您尝试过什么,您的代码有什么问题?
-
很抱歉这么粗鲁,但我没有做过任何研究,也不打算做任何事情。我也不指望任何人为我做研究。相反,我只是问,以防有人知道答案。如果没有人知道,这不是问题。知道这个问题的答案对我来说并不重要,而且除了简单地在 stackoverflow 上询问之外,我也没有时间自己寻找答案。在其他情况下,我会努力,但我怀疑这甚至不可能,因此我不想浪费时间。
-
好吧,但是如果您期望得到正确而全面的答案,您的问题需要足够清楚,这就是为什么我的第一个问题是关于您的代码的。此外,我认为在谷歌搜索和阅读比提出问题并等待阳光普照要快;-)。然而,如果你只是想知道它是否可能,答案是肯定的。因为基于 冯诺依曼 的“存储程序计算机”模型,代码也由对象表示。在 python 中访问对象通常是那么容易。
-
你是在暗示做我想做的事“很容易”?然后给我看:D
-
这就像给某人一条鱼或教他/她钓鱼。不幸的是,我不是给你鱼的人,也许如果你的问题是一个微不足道的问题,我会这样做,但这是一个有趣的问题,不会轻易出现在每个人的脑海中,这就是为什么我认为提问者应得的不仅仅是一个简单的答案。
标签: python reflection introspection