[英]Using an argument from one Function in a separate function
我有一個功能:
def create_discs(noDiscs):
調用時會創建指定數量的光盤,例如:
create_discs(5)
將創建5張光盤。
然后,我想在單獨的函數中使用輸入到create_discs函數中的整數:
def hanoi(disc_int):
換句話說,我希望disc_int等於5(或輸入任何數字)
誰能幫我?
如果您希望兩個函數共享狀態,則應將它們定義為類的方法。
class Hanoi(object):
def __init__(self, num_discs):
self.num_discs = num_discs
def create_discs(self):
# use value of self.num_discs
def hanoi(self):
# use value of self.num_discs
h = Hanoi(5)
h.create_discs()
h.hanoi()
如果您要將5
傳遞給create_discs,可以執行以下操作:
num = 5
create_discs(num)
hanoi(num)
您可以關閉:
def create_discs(num):
# create some discs
def hanoi_closure():
# now num is available within this function
# do hanoi stuff
return
return hanoi_closure
hanoi = create_discs(5)
hanoi()
在這種情況下, create_discs
在其內部定義了您的hanoi
函數,以使num
處於其作用域內(自動,無需將任何內容存儲在global
或class
!),它返回了內部函數,以便您以后可以調用它。
如果已經創建了create_discs
返回值,那么您只需返回一個tuple
及其返回的內容和內部函數:
def create_discs(num):
# ...
return what_it_normally_returns, hanoi_closure
create_discs_result, hanoi = create_discs(5)
hanoi()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.