qq_41904854
qq_41904854
2019-09-08 10:06
采纳率: 36.4%
浏览 501

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • iron02
    iron02 2019-09-08 15:49
    已采纳

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

    点赞 评论
  • caozhy

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

    点赞 评论
  • dabocaiqq
    dabocaiqq 2019-09-08 15:53

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

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

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

    点赞 评论

相关推荐