您好,登錄后才能下訂單哦!
小編給大家分享一下Python中局部變量和全局變量的定義:,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們先來看一下局部變量和全局變量的定義:
局部變量:在函數中定義的變量,作用域是當前函數,只對當前函數起作用。
全局變量:在代碼開頭定義的變量,作用域是整段代碼,對整段代碼起作用。
先看下面的實例, 最后給結論。
name = 'PythonTab' def func1(): print('my name is %s' %(name)) name = 'PythonTab.com' print('my name is %s' %(name)) func1() print(name)
輸出結果
my name is PythonTab my name is PythonTab.com default
結論:當全局變量和局部變量相同時,函數內部優先使用局部變量, 如果沒有局部變量則使用全局變量
如果我們想在函數內部,使局部變量對全局變量產生作用,那么我們可以在函數中使用gloabl,下面我們來看
name = 'default' def func2(): global name name = 'PythonTab.com' print(name) func2() print(name)
輸出結果
PythonTab.com PythonTab.com
我們再來看
nameList =['Python','Tab','.com'] def func3(): nameList[0] = 'python' func3() print(nameList)
輸出結果
['python','Tab','.com']
nameList =['Python','Tab','.com'] def func4(): nameList = [] func4() print(nameList)
輸出結果
['Python','Tab','.com']
這里可以看到nameList這個全局變量改變了,函數內部沒有調用global,卻改變了全局變量。因為在python中,列表、字典等如果只是修改其中元素的值,可以不用gloabl,如果是修改整個列表,必須是有gloabl。
nameList =['Python','Tab','.com'] def func5(): gloabl nameList nameList = [] func5() print(nameList)
總結:局部函數只作用于該函數內,全局函數作用于整段代碼,如果要在函數內修改全局變量的值,使用gloabl。如果只修改列表,字典等中的某個值,可以不用global也可以修改全局變量。
以上是“Python中局部變量和全局變量的定義:”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。