甜萝 发表于 2023-1-27 12:39

关于python默认参数的一点见解

本帖最后由 paypojie 于 2023-1-27 12:46 编辑

给函数定义有可变数目的参数也是可行的 最有用的函数定义形式应该是给一个或者多个参数指定一个默认值 这样创建出来的函数 可以用比定义时允许的更少的参数调用 请看下面的一个例子
# 定义一个询问函数
def ask_ok(prompt,count=4,remin='请再次尝试一次'):
    # 进入一个死循环
    while True:
      # 请求用户输入 prompt作为提示语句
      ok = input(prompt)
      # 只要进入下面的任意一个if语句 就会终止函数
      if ok in ('y','ye','yes'):# in关键字判断值是否存在序列中
            return True
      if ok in ('n','no','nope'):
            return False
      # 如果没有进入到if语句 count次数就减一 如果count次数等于零 那么就抛出一个值异常
      count -= 1
      if count == 0:
            raise ValueError('无法响应')
      print(remin)
可以通过以下形式调用函数
# 只给出必需的参数
ask_ok('请输入字符:')
# 给出一个可选的参数
ask_ok('请输入字符:',5)
# 给出全部参数
ask_ok('请输入字符:',5,'请再试一次')
思路来源 python官网文档

QingTianGG 发表于 2023-1-27 13:53

只要有默认值,用比定义时允许的更少的参数调用不是很正常的嘛。
python还支持用比定义更多的参数来调用 def Home(ini, *arg):

甜萝 发表于 2023-1-27 14:03

QingTianGG 发表于 2023-1-27 13:53
只要有默认值,用比定义时允许的更少的参数调用不是很正常的嘛。
python还支持用比定义更多的参数来调用 d ...

*arg是可变参数吧

QingTianGG 发表于 2023-1-27 14:05

paypojie 发表于 2023-1-27 14:03
*arg是可变参数吧

对的对的
页: [1]
查看完整版本: 关于python默认参数的一点见解