程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python局部變量與全局變量問題

編輯:Python

不是局部變量不可修改全局變量嗎?怎麼還可以運行呢?

答:因為point += 2相當於 point = point + 2,這個point接收的參數是【位置參數】point

所以相當於只是在【局部作用域】寫了一個賦值語句。

def sum(point):
point += 2 # 局部變量
return point
point = 10 # 全局變量
n = sum(5)
print(n)


這樣子是不行的:

point = 4
def sum(name):
point = point + 2
return point
point = 10
n = sum(10)
print(n)

出現報錯:UnboundLocalError: local variable ‘point’ referenced before assignment。翻譯一下就是:局部變量point在賦值之前被引用。也就是說:python把point = point + 2中的point當成了局部變量使用,然而他並沒有被賦值,因此出現報錯,為什麼局部變量不使用全局變量的point呢?這是因為在同一行賦值語句裡,局部變量不能引用全局變量,會被python誤解為修改全局變量值。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved