请问python这段代码中,两个变量名的输出结果为什么会不一样?

请问python这段代码中,两个变量名的输出结果为什么会不一样?

问题描述:

图片说明
请问第一个Test的输出为什么是100,而不是和第二个Test输出一样?

你可以把最后一句注释掉,就会看到依然打印出100,
在执行第一个print之前,Test类没有定义完成,所以打印出100
第二个结果就是正常理解的结果类

因为你的类和全局变量都叫做Test
按照就近原则,在类里面提到Test就是类名的Test
在主程序里,就是全局变量,那个100的Test

主程序的
print(Test)
打印的是类

而类里面的,因为此时print(Test),而Test没有初始化,所以不能存在,打印的是变量100

所以先输出的是100
后面才是类。