Re: [問題] 函數的預設引數
※ 引述《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
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章