首頁 >常見問題 >在函數內部可以透過什麼關鍵字定義全域變數?

在函數內部可以透過什麼關鍵字定義全域變數?

烟雨青岚
烟雨青岚原創
2020-07-07 10:23:5623781瀏覽

在函數內部可以透過global關鍵字定義全域變數。 global表示全域變量,用於改變函數外部的變數;全域變數既可以是某物件函數創建,也可以是在本程式任何地方創建;全域變數是可以被本程式所有物件或函數引用的。

在函數內部可以透過什麼關鍵字定義全域變數?

在函數內部可以透過global關鍵字定義全域變數。

global 是表示全域變量,當函數中要改變函數外面的變數時候需要用全域變數global來表示

全域變數既可以是某物件函數創建,也可以是在本程式任何地方創建。全域變數是可以被本程式所有物件或函數引用。

global使用

對於list類型: 改變第一個和最後一個字母

newName = "xiaoming"lst4 = list(newName)def change1():
    lst4 = ['g', 'i', 'a', 'o', 'm', 'i', 'h', 'x']
change1()
print(lst4)def change2():
    global lst4
    lst4 = ['g', 'i', 'a', 'o', 'm', 'i', 'h', 'x']
change2()
print(lst4)

結果分別為:

['x', 'i', 'a', 'o', 'm', 'i', 'h', 'g']
['g', 'i', 'a', 'o', 'm', 'i', 'h', 'x']

對於string類型:

name3 = "xiaoming"def change3():
    name3 = "giaominx"change3()
print(name3)def change4():
    global name3
    name3 = "giaominx"change4()
print(name3)

結果:

xiaoming
giaominx

對於int型別:

i = 3def increase():
    global i
    i = 4increase()
print(i)

結果:4

總結: 
1、當想要改變函數外部的變數的時候需要在函數中申明函數為全域變數global

2、change1 和change3中的lst4 、 name3其實不是函數外面定義的變量,是函數中重新定義的一個新的函數

global 和this 的區別 
1、 在Python中global指的是全域變量,只有指定後才表示相同變數(特殊情況:當變數為引用資料類型,在改變其值的時候也可以表示同一變量,如swap1),當要改變外部變數時候使用

2. 在java中this指的是成員變量,不需要指定就已經表示為同一變量,當函數內變量和成員變量重名的時候為了區分使用

3、相比較而言, java的靈活性更高,但是容易在函數中篡改資料值,因此定義成員變數需要謹慎Python不用擔心命名相同的情況,但是改全局變數更為複雜

更多相關知識,請訪問PHP中文網! !

以上是在函數內部可以透過什麼關鍵字定義全域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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