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()最初に行を見て、 which is equal to 5 を出力し、次に条件をa.xチェックして、which isを出力します。ifeval(str)3

したがって、出力、

 5
 3
于 2013-07-29T04:23:17.140 に答える