gpt4 book ai didi

Python:一些 "__magic__"属性从该函数中引用一个函数

转载 作者:行者123 更新时间:2023-11-28 20:49:13 24 4
gpt4 key购买 nike

在 Python 中是否有 PHP 的 __FUNCTION__ 魔法常量的模拟?

def func(x):
print(__FUNCTION__) ## <function func at 0x00B02810>
print(__FUNCTION__.__name__) ## func

更新:

举个例子:

import sys

def func(f = "Foo"):
b = "Bar"
print(sys._getframe().f_code) ## <code object func at 0x00B09A20, file "C:\py\func.py", line 5>
print(func.__code__) ## <code object func at 0x00B09A20, file "C:\py\func.py", line 5>, the same

print(sys._getframe().f_trace) ## None
print(sys._getframe().f_locals) ## {'b': 'Bar', 'f': 'Foo'}
print(sys._getframe().f_lineno) ## 12

if __name__ == "__main__":
func()

最佳答案

您可以使用 inspect module 获得其中的一些功能.

import inspect

def foo():
code = inspect.currentframe().f_code
print code.co_name

您还可以使用 exec code 从代码对象执行代码,其中 code 是在上面的函数中创建的变量。

请注意,inspect.currentframe() 为您提供了与 sys._getframe(0) 相同的对象,但它实际上意味着以这种方式使用。

关于Python:一些 "__magic__"属性从该函数中引用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14986523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com