2024-05-23 13:41:52 发布
网友
如何在函数内部使用python exec关键字?在
这会损害函数的性能,以及它的可维护性,但是如果你真的想让你自己的代码变得更糟,Python2(这在Python3中不起作用,你需要使用第二个替代方法)给你“足够的绳子来射自己的脚”(;-):
>>> def horror(): ... exec "x=23" ... return x ... >>> print horror() 23
当然,稍微不那么可怕的是exec在一个特定的句子中:
exec
这至少避免了第一种方法的名称空间污染。在
Alex的答案在python3中的工作方式略有不同。在
由于exec()是Python3中的函数,请使用以下模式-
def better(): d = {} exec("x=23", d) return d['x'] print better() 23
请参阅此问题以了解更多详细信息- Behavior of exec function in Python 2 and Python 3
是的。在
class A: def __init__(self): self.a1 = '' self.a2 = '' def populate(): att1 = raw_input("enter a1: ") att2 = raw_input("enter a2: ") my_object = A() eval("my_obj.a1 = att1") eval("my_obj.a2 = att2") if eval("my_obj.a2") == 2: print "Hooray! the value of a2 in my_obj is 2"
希望这有帮助
这会损害函数的性能,以及它的可维护性,但是如果你真的想让你自己的代码变得更糟,Python2(这在Python3中不起作用,你需要使用第二个替代方法)给你“足够的绳子来射自己的脚”(;-):
当然,稍微不那么可怕的是
^{pr2}$exec
在一个特定的句子中:这至少避免了第一种方法的名称空间污染。在
Alex的答案在python3中的工作方式略有不同。在
由于exec()是Python3中的函数,请使用以下模式-
请参阅此问题以了解更多详细信息- Behavior of exec function in Python 2 and Python 3
是的。在
希望这有帮助
相关问题 更多 >
编程相关推荐