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...