if语句中的Python变量作用域

在Python中,if语句内部的变量作用域是否在if语句外部可见?(来自Java背景,所以觉得有点奇怪)

在以下情况下,名称首先在if块内部定义,但变量也在if块外部可见。我原以为会出错,但“乔”被打印出来了。

if 1==1:
    name = 'joe'
print(name)

if语句不在Python中定义作用域。

循环、with语句、try/except等也不做

只有模块、函数和类定义作用域。

请参见Python教程中的Python Scopes and Namespaces

 
posted @ 2022-06-15 00:18  海_纳百川  阅读(414)  评论(0编辑  收藏  举报
本站总访问量