作者sbrhsieh (偶尔想摆烂一下)
看板Python
标题Re: [问题] 函数的预设引数
时间Mon Nov 30 15:32:23 2009
※ 引述《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
1F:推 gkofay:恩恩~了解了。谢谢你^^ 12/02 22:12