python - 關(guān)于函數(shù)調(diào)用的問題
問題描述
def test1(): a = 1 b = 2 def test2(): c = 3 d = c + a print(d)test2這邊想實現(xiàn)下面的test2調(diào)用上面test1里面的數(shù)據(jù),要怎么實現(xiàn),使用的是python3
問題解答
回答1:首先,你這種需求是不可能且不合理的,兩個分立的函數(shù)不可能相互訪問里面的變量的
如果用閉包倒是可以做到,不過不知道是不是你想要的:
def test1(): a = 1 b = 2 def test2():c = 3d = c + aprint(d) return test2test2 = test1()test2()回答2:
可以將test1封裝為一個類
#-*-coding:utf8-*-class test1(): '''docstring for test1''' def __init__(self):self.a=0self.b=0self.test1() def test1(self):self.a=1self.b=2test = test1()def test2(): c=3 d=c+test.a print (d)test2()
初始化可以放在你想調(diào)用的位置,并且在初始化的時候默認調(diào)用了test1()方法,這樣就可以通過類的對象訪問數(shù)據(jù)了。
回答3:可以讓test1用return來返回a和b的值:
def test1(): a = 1 b = 2 return a,bdef test2(): c = 3 a,b = test1() d = c + a print(d)test2()回答4:
哈哈,都是人才,閉包、封類、明確返回,以上每一個都是獨立的解決辦法。
相關(guān)文章:
1. javascript - JS new Date() 保存到 mongodb 中會早8個小時,我們這里是東八區(qū),mongodb 保存的是格林尼治時間2. java - 判斷數(shù)據(jù)在數(shù)據(jù)庫中是否已存在.3. android百度地圖定位問題4. android - 圖片列表分組之后復(fù)用問題5. javascript - 關(guān)于圣杯布局的一點疑惑6. python - django models 為生成的html元素添加樣式。7. css - input間的間距和文字上下居中8. 為什么我寫的PHP不行9. android - 有數(shù)據(jù)要處理的時候如何使用rxJava進行異步處理數(shù)據(jù)10.排行榜android百度地圖定位問題 1. javascript - JS new Date() 保存到 mongodb 中會早8個小時,我們這里是東八區(qū),mongodb 保存的是格林尼治時間 2. java - 判斷數(shù)據(jù)在數(shù)據(jù)庫中是否已存在. 3. javascript - 關(guān)于圣杯布局的一點疑惑 4. python - django models 為生成的html元素添加樣式。 5. android - 圖片列表分組之后復(fù)用問題 6. css - input間的間距和文字上下居中 7. javascript - 關(guān)于類的一個小問題,求解答? 8. android - 安卓activity無法填充屏幕 9. 為什么我寫的PHP不行 10. nginx bind failed 熱門標(biāo)簽

網(wǎng)公網(wǎng)安備