python中如何在方程外部得到他的變數

2022-02-21 02:16:47 字數 5427 閱讀 5045

1樓:

def aaa():

s = 5

return s

print aaa()

或者:def aaa():

global s

s = 5

aaa()

print s

要在函式外部訪問函式的內部變數,要麼使用return將其返回到外部,要麼用global定義為全域性變數。推薦前一種。

def只是定義函式,你還沒有呼叫和執行該函式。此外,要在控制檯輸出,你可以在函式內部寫上print s+3 ,然後呼叫函式aaa()。

或者定義一個類:

class aaa:

s = 5

b = aaa #初始化一個類的例項

print b.s #當然,你也可以直接使用aaa.s

2樓:jason粉絲團

寫成一個類,用一個檔案儲存起來,比如a.py檔案內容為class aaa():

def __init__(self,s):

self.s=s

然後儲存到a.py

開啟b.py(另一個檔案):

輸入**

from a import aaa

b=aaa(8)

print b.s

python 怎麼從定義的函式之外呼叫其中的變數

3樓:

用def關鍵字,括號裡是引數列表def add(a, b): return a+b#下面呼叫print add(1, 2)

4樓:匿名使用者

這涉及到變數的生命週期問題,一般的,在函式裡面宣告的變數在函式外是不起作用的。

一個比較簡單的解決辦法是你在函式外就先宣告這個變數,宣告成全域性變數。然後在函式裡面進行操作和賦值。

最後就能在函式外獲取變數的值了。例如:

x = 0

def a():

x = 2

if __name__ == '__main__':

a()print x

最終x列印出來的結果就是2

5樓:匿名使用者

def test():

global x

x=2test()

print(x)

加global就可以

python 怎麼將自定義函式的變數在外部呼叫

6樓:英雄傻小

class dayin():

def __init__(self):

self.end = ''

self.end2 = ''

self.end3 = ''

def set_end(self):

self.end = '1'

def set_end2(self):

self.end2 = '2'

def set_end3(self):

self.end3 = '3'

m = dayin()

m.set_end()

m.set_end2()

m.set_end3()

data = [[m.end],[m.end2],[m.end3]]print(data)

1、你的dayin(object)傳了一個物件,去掉。

2、你在初始化函式__init__裡面寫了引數,所以你在下面m = dayin()必須加引數。我是直接去掉了。預設為""

3、你的變數和函式名稱重複,下面呼叫時會有問題。所以我修改了。

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

7樓:一豬之哀傷一

例如一個函式內有一個變數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

8樓:細雨搖琴

用閉包再來看看專業的解釋:閉包(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中是如何實現將一個函式中定義的變數在另一個函式中改變其值的

9樓:wxc一塊錢

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

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

10樓:可靠的我心我在

def a(n):

print n

def b(c):

print c

b(a(2))

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

def b():

a(2)

11樓:匿名使用者

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

12樓:

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

def abc1(x):

...def abc2(x, y):

z = x(y)

...if __name__=='__main__':

abc2(abc1, 1)

13樓:戢玉花恭午

例如一個函式內有一個變數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中,如何把一個在函式內部定義的變數變為global變數

python如何在一個模組中呼叫另一個模組中的變數

14樓:依然特雷西

1、開啟cmd終端視窗,輸入命令pip install graphene命令。

2、雙擊開啟pycharm,然後點選加號按鈕,開啟安裝界回面。

3、安裝完畢答之後,匯入graphene模組包,注意匯入方式。

4、接著定義一個類userquer,並在類下方定義方法edit_user。

5、接著呼叫graphene模組中的schema,設定query為query。

6、最後呼叫execute方法,獲取對應的key的值,然後執行這個檔案。

15樓:塵埃開出花

python在一個模組中呼叫另一個模組中的變數步驟如下:

1、要實現變數的深度拷貝,專需要使用到copy模組,匯入屬

這個模組。

2、定義一個列表變數a並進行賦值,然後將變數a賦值給變數b。

3、接著呼叫id()方法,分別列印變數a和變數b的id值,檢視是否一致。

4、儲存**並直接使用run這個python檔案,發現列印的結果一致。

5、呼叫copy模組中的deepcopy()方法,按照對應的值賦值給變數c。

6、再次分別列印變數a和變數c的id值,結果發現它們不一致,說明這是深度拷貝。

16樓:匿名使用者

from some_module import *

然後就可以直接呼叫some_moudle裡的物件了

17樓:匿名使用者

(1)import 模組

模組.變數名

(2)from 模組 import 變數名,這樣可以直接使用不過不太應用後面的那種,可能會出現重名的變數,無法分辨

18樓:

匯入那個模組,用 模組.變數名引用

19樓:呂興有歐儀

可以,把需要呼叫的那個檔案作為模組匯入就行。

from

xx(檔名,注意不要加字尾.py)

import

*這樣就把xx檔案裡的變數匯入進主程式了,然後直接用xx檔案裡的變數就行

python如何在函式中呼叫另函式返回的多個

不需要的值用 代替。例如,只要b的值 b return 你的bai意思是 函式值返回值直接放du到另一個函zhi數當參dao數吧實際上可以回變通一下,返回答的是元組,然後怎麼拿到元組中的一個最簡單的就是使用 如果 return a,b,c 想拿到b使用 fun 1 下標從0開始 你可以用3個變數去接...

python轉義雙引號,python中如何輸出引號

為啥一定都用雙引號呢?gp.calculatefield management a,type 林地 外面是單引號,裡面可以直接使用雙引號,不必轉義 如果使用變數代替可以這樣 a 林地 b s a gp.calculatefield management a,type b 也可以這樣 a 林地 b a...

如何在python中比較微秒時間差

python中的最小時間單bai位是du毫秒,沒辦法精確到zhi微秒用time包的time 函式dao可以獲得當前計算機的掛鐘時間,專利用它 屬可以獲得時間差 import time time1 time.time 要度量時間的程式 time2 time.time print time2 time1...