python函式裡的變數可以被另函式使用嗎

2021-03-06 13:33:56 字數 4169 閱讀 4431

1樓:索秀珍尤畫

例如一個

函式內有一個變數i,怎麼在函式外或另一個函式中呼叫或更改它。新手學習,謝謝。

******************************

不能在函式外更改某函式裡的區域性變數,因為每當你例項化那個函式的時候,那個函式裡面的區域性變數也會被重新賦值,重新定義,談何更改呢?

這一個全部變數和區域性變數的問題,如果要實現樓主說的,必須使用全域性變數(類中的self):

***************=bianliang.py**********=

#coding:

utf-8i=

0#定義一個全域性變數i

defa():

'''列印出i的值

'''print

idef

b():

global

ia()

#呼叫a方法

print

i#列印ii=

1000

#重新賦值i

print

i#列印i

a()#再次呼叫a方法

b()******************************===

%python

bianliang.py00

1000

1000

這個py檔案裡面使用了一個全域性變數i,實現了a方法和b方法共用引數i

2樓:匿名使用者

prsdblogaffectedrowcount @packagetype,1350,@@rowcount

while @@rowcount>1

delete

from temp

output deleted.*

into temp_deleted

where operatetime > @currentdateexec prsdblogaffectedrowcountset rowcount 0

3樓:匿名使用者

global words轉全域性對

python 一個函式怎麼使用另一個函式內的變數

4樓:一豬之哀傷一

例如一個函式內有一個變數i,怎麼在函式外或另一個函式中呼叫或更改它。新手學習,謝謝。

******************************

不能在函式外更改某函式裡的區域性變數,因為每當你例項化那個函式的時候,那個函式裡面的區域性變數也會被重新賦值,重新定義,談何更改呢?

這一個全部變數和區域性變數的問題,如果要實現樓主說的,必須使用全域性變數(類中的self):

***************=bianliang.py**********=

#coding: utf-8

i = 0 #定義一個全域性變數i

def a():

'''列印出i的值

'''print i

def b():

global i

a() #呼叫a方法

print i #列印i

i = 1000 #重新賦值i

print i #列印i

a() #再次呼叫a方法

b()******************************===

%python bianliang.py00

1000

1000

這個py檔案裡面使用了一個全域性變數i,實現了a方法和b方法共用引數i

5樓:細雨搖琴

用閉包再來看看專業的解釋:閉包(closure)是詞法閉包(lexical closure)的簡稱,是引用了自由變數的函式。這個被引用的自由變數將和這個函式一同存在,即使已經離開了創造它的環境也不例外。

所以,有另一種說法認為閉包是由函式和與其相關的引用環境組合而成的實體。

def make_adder(addend):

def adder(augend):

return augend + addendreturn adder

p = make_adder(23)

q = make_adder(44)print p(100)print q(100)

執行結果:

123144

python中怎麼把一個函式定義為另一個函式的變數

6樓:可靠的我心我在

def a(n):

print n

def b(c):

print c

b(a(2))

可以這樣子用,只是不知道你的應用場景是什麼?有這樣的要求因為你可以直接在b函式呼叫a函式

def b():

a(2)

7樓:匿名使用者

可以,然後在adc2裡面直接adc1()就可以呼叫adc1這個函式了

8樓:

題主要表達的是這樣意思吧?

def abc1(x):

...def abc2(x, y):

z = x(y)

...if __name__=='__main__':

abc2(abc1, 1)

9樓:戢玉花恭午

例如一個函式內有一個變數i,怎麼在函式外或另一個函式中呼叫或更改它。新手學習,謝謝。

******************************

不能在函式外更改某函式裡的區域性變數,因為每當你例項化那個函式的時候,那個函式裡面的區域性變數也會被重新賦值,重新定義,談何更改呢?

這一個全部變數和區域性變數的問題,如果要實現樓主說的,必須使用全域性變數(類中的self):

***************=bianliang.py**********=

#coding:

utf-8i=

0#定義一個全域性變數i

defa():

'''列印出i的值

'''print

idef

b():

global

ia()

#呼叫a方法

print

i#列印ii=

1000

#重新賦值i

print

i#列印i

a()#再次呼叫a方法

b()******************************===

%python

bianliang.py00

1000

1000

這個py檔案裡面使用了一個全域性變數i,實現了a方法和b方法共用引數i

python中是如何實現將一個函式中定義的變數在另一個函式中改變其值的

10樓:wxc一塊錢

python用列表名給變數賦值時給的是地址,就像c裡指標一樣。想要實現傳值用copy包

python 在函式裡面定義的變數,在外面就不能用了嗎?

11樓:風吹的小羊

嚴格的說,這麼用絕對屬於沒有定義的。

不過有時候又可以是因為,如果你在程式開頭函式前面定義一些變數,原則上它會自動變成global的。

除非你另外啟執行緒,或者是有可能有與它重名的變數,否則可以直接在函式體內使用,當然也可以在後面的語句中使用。

函數語言程式設計要記著ipo這個準則。就是每個函式最好都是有輸入input有輸出output。

python同一個類內兩個函式變數怎麼呼叫

12樓:育知同創教育

classa():

self.b1 = 0

def b(self):

self.b1=123

def c(self):

c1=self.b1+5

print c1

13樓:厚憐雲賴頌

如果是同一包裡面,直接就可以使用,如果不是同一個包,那麼需要先import後,通過「版包名.類名」才能使用。

下面權是同一個包裡面的案例:

defa():

print(1)

defb():

a()print

(2)b()

如何在python中寫函式交換兩個變數的值

python交換兩個變抄量的值很簡單襲,a,b b,a 就可以,寫bai成函式,代du碼如下 zhi def jh a,b return b,a x 1 y 2 x,y jh x,y print x,y 執行結果dao如下 def change x,y return y,x x,y 1,2 prin...

as3 0函式裡的變數問題

你的obj應該放在函式外面定義。我幫你修改了 for var i int 0 i 6 i 拖放 var obj object new object function mousedownevent e mouseevent void 停止拖放 stage.addeventlistener mousee...

python典鍵值可以是函式麼,python字典鍵值可以是函式麼

def funca a pass def funcb b pass def funcc c pass def funcd d pass a,b,c,d 1,2,3,4funcdict funcdict a a funca a 可以的,鍵必須是不可變物件,比如數,字串,tuple,frozenset,...