① python中怎麼定義全局變數
復制代碼
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]
復制代碼
結果同上
列表可以比肩簡單的實現,學習之。
② python怎麼定義變數
直接使用就可以,不需要定義,系統自動掃描你使用的哪些符號,自動在你使用之前進行定義,自動在使用完畢進行銷毀,是不是比C語言智能化了呀
③ python中如何設置全局變數
1.定義變數的時候默認是全局變數
2.使用函數的時候,函數默認是封閉性的,在函數內使用的變數不能直接函數外使用
3.如需要使用,可以在變數使用之前聲明這個變數是全局變數
④ Python怎樣定義變數
vars(不帶參數的形式)和locals這兩個內建函數返回一個當前scope內定義的所有局部變數的字典。>>>
'a'
in
vars()
false>>>
a
=
1>>>
'a'
in
vars()true>>>
b
=
2>>>
locals()
⑤ python 如何定義全局變數
接下來,我們把值2賦給x。x是函數的局部變數。所以,當我們在函數內改變x的值的時候,在主塊中定義的x不受影響。在最後一個print語句中,我們證明了主塊中的x的值確實沒有受到影響。
使用global語句
如果你想要為一個定義在函數外的變數賦值,那麼你就得告訴python這個變數名不是局部的,而是
全局
的。我們使用global語句完成這一功能。沒有global語句,是不可能為定義在函數外的變數賦值的。
你可以使用定義在函數外的變數的值(假設在函數內沒有同名的變數)。然而,我並不鼓勵你這樣做,並且你應該盡量避免這樣做,因為這使得程序的讀者會不清楚這個變數是在哪裡定義的。使用global語句可以清楚地表明python函數變數是在外面的塊定義的。
⑥ python 批量定義變數
n=(某個常量)
foriinrange(1,n):
print"Hi"
⑦ python里怎樣批量生成變數,如生成100個變數x001~x100
為什麼需要生成100個變數呢?直接用字典不就行了?我想不出要單獨生成100個變數的理由。
⑧ python中如何定義變數
Python 中的變數賦值不需要類型聲明,這一點和其他java,c,c++語言都不相同。
counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = "John" # 字元串
print counter
print miles
print name
----------------------
執行以上程序會輸出如下結果:
100
1000.0
John
⑨ 如何在Python中定義靜態變數
Python使用函數默認值實現函數靜態變數的方法,具體方法如下:
一、Python函數默認值
Python函數默認值的使用可以在函數調用時寫代碼提供方便,很多時候我們只要使用默認值就可以了。 所以函數默認值在python中用到的很多,尤其是在類中間,類的初始化函數中一幫都會用到默認值。 使用類時能夠方便的創建類,而不需要傳遞一堆參數。
只要在函數參數名後面加上 」=defalut_value」,函數默認值就定義好了。有一個地方需要注意的是,有默認值的參數必須在函數參數列表的最後,不允許將沒有默認值的參數放在有默認值的參數後,因為如果你那樣定義的話,解釋器將不知道如何去傳遞參數。
先來看一段示例代碼:
def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
while True:
ok = raw_input(prompt)
if ok in ('y', 'ye', 'yes'): return True
if ok in ('n', 'no', 'nop', 'nope'): return False
retries = retries - 1
if retries < 0: raise IOError, 'refusenik user'
print complaint
你調用上面的函數時,可以修改重試次數和輸出的提示語言,如果你比較懶得話,那麼什麼都不用改。
二、python使用函數默認值來實現函數靜態變數的功能
Python中是不支持靜態變數的,但是我們可以通過函數的默認值來實現靜態變數的功能。
當函數的默認值是內容是可變的類時,類的內容可變,而類的名字沒變。(相當於開辟的內存區域沒有變,而其中內容可以變化)。
這是因為python中函數的默認值只會被執行一次,(和靜態變數一樣,靜態變數初始化也是被執行一次。)這就是他們的共同點。
再來看下面的程序片段:
def f(a, L=[]):
L.append(a)
return L
print f(1)
print f(2)
print f(3)
print f(4,['x'])
print f(5)
其輸出結果是:
[1]
[1, 2]
[1, 2, 3]
['x', 4]
[1, 2, 3, 5]
前面的好理解,為什麼最後 「print f(5)」的輸出是 「[1, 2, 3, 5]」呢?
這是因為 「print f(4,['x'])」時,默認變數並沒有被改變,因為默認變數的初始化只是被執行了一次(第一次使用默認值調用),初始化執行開辟的內存區(我們可以稱之為默認變數)沒有被改變,所以最後的輸出結果是「[1, 2, 3, 5]」。
⑩ Python如何用循環定義多個變數
classTest:
pass
a=Test()
forxxinrange(97,123):
t=chr(xx)+'=Test()'
printt
exec(t)
printeval(chr(xx))
printa
printz