Re: [問題] 函數的預設引數

看板Python作者 (偶爾想擺爛一下)時間15年前 (2009/11/30 15:32), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《gkofay (歐歐正夯)》之銘言: : 我在content=get_file()這邊沒有傳引數,所以很自然的用了預設的 : 但如果我把我綠色的註解刪掉,下一行改成content=get_file(file) : def get_input(): : file=input("請輸入檔案來源:") : content=get_file(file) : print (content()) : 跑出來的結果它會先問你 : 請輸入檔案來源: : 但是如果我希望它用預設的 : 所以並不打算輸入路徑來源 : 我要怎麼讓它自動跑到預設值呢? : 因為我如果直接按enter的話 : 他會說路徑沒有用 : 麻煩哩 主要是看你的 get_file 的合約是什麼。 如果你希望 get_file 若沒有指定路徑,或是指定的路徑概念上是個空值,那麼就 使用預設路徑(此預設路徑是固定的),那麼你可以設計成: def get_file(file=None, f=open_file): o = f(file or './ch205.txt') txt=o.read return txt 如果預設路徑本身也是選項: def get_file(target=None, f=open_file, default_path='./ch205.txt'): fp = f(target or default_path) return fp.read 不管是哪一種都可以搭配 def get_input(): target_file_path = input("請輸入檔案來源:") print(get_file(target_file_path)) 來做到你形容的行為。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.131.56

12/02 22:12, , 1F
恩恩~了解了。謝謝你^^
12/02 22:12, 1F
文章代碼(AID): #1B4tKAYf (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1B4tKAYf (Python)