NNNnnn9999 2022-04-29 19:10 采纳率: 53.3%
浏览 32
已结题

python答案为啥是323

def func():
x=2
print(x)
x=3
print(x)
func()
print(x)

  • 写回答

3条回答 默认 最新

  • 请叫我问哥 新星创作者: python技术领域 2022-04-29 20:20
    关注

    全局变量和局部变量的区别,前面的已经讲得很详细了,不过你把函数里的x=2注释掉,就会显示333了。
    因为如果局部作用域(函数)里没有给变量赋值的话,同名变量引用的是全局变量。
    如果想在局部作用域里改变全局变量,可以在函数里使用关键字global。如下面就是输出322.

    def func():
        global x
        x=2
        print(x)
    
    x=3
    print(x)
    func()
    print(x)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 4月29日