2

以下代码的输出是

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()
4

1 回答 1

10

Python 代码是自上而下评估的,而不是从Main().

解释器首先看到该a = A()行,并打印a.x等于 5,然后检查if条件并打印eval(str)which is 3

因此输出,

 5
 3
于 2013-07-29T04:23:17.140 回答