python裡 列表是不是不像全域性變數,會在函式中被改變

2021-04-14 05:53:12 字數 3292 閱讀 5886

1樓:育知同創教育

我覺得是,列表是個一種資料結構,而100是個整數型別的資料,其值是存在在記憶體裡,呼叫函式可以改變資料結構,但是改變不了記憶體裡的值,你可以試下改變列表裡的值。

python使用多程序時,全域性變數改了,為什麼在函式a中值沒變 5

2樓:反翽葚讛笀仕藖

在子程序引用宣告變數的模組,然後直接用.引用就更新了

python問題 在函式內使用全域性變數的時什麼時候需要加global,什麼時候不用?

3樓:自我程式設計

global是用於宣告全域性

變數。當你的函式中變數有賦值語句,而這個變數名又剛好同全域性變數一樣,這時候,如果你希望用的是全域性變數就要加global,反之函式就會建立自己的區域性變數。

簡單說:

函式內使用全域性變數,只要函式內沒有使用這個變數名來做賦值語句,就不需要加global。

用python的tkinter中的按鈕,繫結的事件如何更改全域性變數的問題

4樓:匿名使用者

from tkinter import *def changestringvar():

a.set("changed!")

print(a.get()) ## 在這print a.get()就能列印在控制檯裡面了

root=tk()

a=stringvar()

button=button(root,text='change',command=changestringvar)

label=label(root,textvariable=a)button.pack()

label.pack()

print(a.get()) ## 這個時候列印出來內的還沒容變化呢

mainloop()

5樓:匿名使用者

我覺得可以設定一個全域性變數,儲存a值,changestringvar中從新設定下就可以了吧

python中怎麼定義全域性變數

6樓:匿名使用者

複製**

count = 0

def fuc(count):

print count

count += 1

for i in range(0, 10):

fuc(count)

複製**

結果是:

不是我們想要的結果。

解決之道一——全域性變數:

複製**

global a

a = 3

def fuc():

global a

print a

a = a + 1

if __name__ == "__main__":

global a

for i in range(10):

fuc()print 'hello'

print a

複製**

結果:注意要領:

**需要全域性變數,**宣告一下;但是函式千萬不要傳引數, fuc(a)是不行的。

解決之道二——列表:

複製**

a = [3]

def fuc():

print a[0]

a[0] = a[0] + 1

if __name__ == "__main__":

global a

for i in range(10):

fuc()

print 'hello'

print a[0]

複製**

結果同上

列表可以比肩簡單的實現,學習之。

7樓:唯美逛

在python中,全域性變數一般有兩種使用方式: 第一種:是在一個單獨的模組中定義好,然後在需要使用的全域性模組中將定義的全域性變數模組匯入。

第二種:直接在當前的模組中定義好,然後直接在本模組中通過global宣告

8樓:士飛薇武鈞

接下來,我們把值2賦給x。x是函式的區域性變數。所以,當我們在函式內改變x的值的時候,在主塊中定義的x不受影響。

在最後一個print語句中,我們證明了主塊中的x的值確實沒有受到影響。

使用global語句

如果你想要為一個定義在函式外的變數賦值,那麼你就得告訴python這個變數名不是區域性的,而是

全域性的。我們使用global語句完成這一功能。沒有global語句,是不可能為定義在函式外的變數賦值的。

你可以使用定義在函式外的變數的值(假設在函式內沒有同名的變數)。然而,我並不鼓勵你這樣做,並且你應該儘量避免這樣做,因為這使得程式的讀者會不清楚這個變數是在**定義的。使用global語句可以清楚地表明python函式變數是在外面的塊定義的。

python怎麼在具體函式中宣告全域性變數

9樓:月黑風高殺人區

在一個函式中用global宣告一個變數,在函式外是可以呼叫的,

但是在另外一個函式中就無法使用(我本地測試是無法使用,不知道是不是這樣),

要想所有函式都能使用,只能在函式外定義了

python的class裡全域性變數有時不能被呼叫

10樓:育知同創教育

你在ex裡面定義的oo,所以你得先執行過ex之後才能執行start。

class test: def __init__(self,name='testa'): self.

x = 'age' self.name = name self.ex() #加上這個 self.

start() def ex(self): global oo oo = 'this is test' def start(self): print oo t=test()

如果不適用全域性變數的話,你可以self.oo:

class test: def __init__(self,name='testa'): self.

x = 'age' self.name = name self.ex() self.

start() def ex(self): self.oo = 'this is test' def start(self):

print self.oo t=test()

Python是不是很難學啊,python語言難學嗎?

要結合個人實際情況來決定,畢竟每個人理解能力 學習能力有所差異,自然學習起來也是存在一定差異的。不過整體來說,python語言並不是很多,要比其他原因更容易入門,也非常適合零基礎學習,如果想要學習好python,找一個合適的培訓機構,跟著老師好好學習,掌握技術是沒有問題的。您好,學習python,如...

紅薯栽在花盆裡,是不是驚呆了,像不像爬山虎

紅薯不太適合種在盆裡,適合種在地裡。紅薯是叢生的,一根發多支藤,下面長大地瓜。若種在盆裡,則不利於其生長,生存條件難以滿足,長得也小,葉子小,難以結瓜,僅供一時觀賞,不建議盆栽。經常看見種植的紅薯 只是覺得更加的像爬在牆上的綠蘿 請問這是什麼植物 在商場看到的 長在花盆裡 有點像爬山虎 但應該不是 ...

想學R語言和python,是不是首先要學好英語

不用的,能看懂一些基本的詞彙就可以了,想學什麼直接學,不要想從哪兒學起。想學就直接學,然後實踐 寫 實現功能,不斷重複這個過程即可。這是最快的進步方式。學程式設計通用。python與r語言哪個更適合新手 個人認為是python python語言簡單易學,模組眾多,網上的資料也很多 所以如果新手推薦p...