首頁  >  文章  >  後端開發  >  python全域變數和局部變數的區別

python全域變數和局部變數的區別

angryTom
angryTom原創
2020-02-29 13:48:2113937瀏覽

python全域變數和局部變數的區別

全域變數和局部變數的差異在於作用域,全域變數在整個py檔案中聲明,全域範圍內可以使用;局部變數是在某個函數內部聲明的,只能在函數內部使用,如果超出使用範圍(函數外部),則會報錯。

推薦:Python教程

#!/usr/bin/python3
# -*- coding: utf-8 -*-

A = 100 # 全局变量一般用大写字母表示

def func():
    a = 50 # 局部变量一般用小写字母表示
    print(a+A)

func()
print(A)
print(a) # 报错信息NameError: name 'a' is not defined

python全域變數和局部變數的區別

#
#!/usr/bin/python3
# -*- coding: utf-8 -*-

A = 100

def func():
    A=250
    print(A)

print(A)    # 打印全部变量
func()      # 局部变量

python全域變數和局部變數的區別

如果想在函數內部改變全域變量,需要在前面加上global關鍵字,執行函數之後,全域變數值也會改變。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
A = 100

def func():
    global  A
    A = 200
    print(A)


print(A)    # 打印全局变量
func()      # 局部变量
print(A)   # 改变后的全局变量

如果全域變數是列表類型,可以透過list的列表方法去對列表進行修改,並且可以不用global來宣告。

list_1 = [1,2,56,"list"]

def changeList():
    list_1.append("over")
    print(list_1)

changeList()
print(list_1)

python全域變數和局部變數的區別

在函數內部,如果局部變數與全域變數變數名稱一樣,則優先呼叫局部變數。

眾多python影片教學,盡在PHP中文網,歡迎線上學習!

以上是python全域變數和局部變數的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn