以下代码的输出为
5
3
我是Python的新手,任何人都可以向我解释原因吗?
import sys
def Main():
str='1+2'
print eval(str)
class A:
def __init__(self):
self.x = 5
a = A()
print a.x
if __name__=="__main__":
Main()
答案 0 :(得分:10)
Python代码是自上而下评估的,而不是来自Main()
。
解释器首先看到a = A()
行,然后打印等于5的a.x
,然后检查if
条件并打印eval(str)
,即3
1}}。
因此输出,
5
3