加入收藏 | 设为首页 | 会员中心 | 我要投稿 丽水站长网 (https://www.0578zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Python函数默认参数设置 超级具体

发布时间:2022-07-05 21:29:29 所属栏目:语言 来源:互联网
导读:我们知道,在调用函数时如果不指定某个参数,Python 解释器会抛出异常。为了解决这个问题,Python 允许为参数设置默认值,即在定义函数时,直接给形式参数指定一个默认值。这样的话,即便调用函数时没有给拥有默认值的形参传递参数,该参数可以直接使用定
  我们知道,在调用函数时如果不指定某个参数,Python 解释器会抛出异常。为了解决这个问题,Python 允许为参数设置默认值,即在定义函数时,直接给形式参数指定一个默认值。这样的话,即便调用函数时没有给拥有默认值的形参传递参数,该参数可以直接使用定义函数时设置的默认值。
 
  Python 定义带有默认值参数的函数,其语法格式如下:
  def 函数名(...,形参名,形参名=默认值):
      代码块
 
  注意,在使用此格式定义函数时,指定有默认值的形式参数必须在所有没默认值参数的最后,否则会产生语法错误。
 
  下面程序演示了如何定义和调用有默认参数的函数:
  #str1没有默认参数,str2有默认参数
  def dis_str(str1,str2 = "http://c.biancheng.net/python/"):
      print("str1:",str1)
      print("str2:",str2)
  dis_str("http://c.biancheng.net/shell/")
  dis_str("http://c.biancheng.net/java/","http://c.biancheng.net/golang/")
  运行结果为:
  str1: http://c.biancheng.net/shell/
  str2: http://c.biancheng.net/python/
  str1: http://c.biancheng.net/java/
  str2: http://c.biancheng.net/golang/
 
  上面程序中,dis_str() 函数有 2 个参数,其中第 2 个设有默认参数。这意味着,在调用 dis_str() 函数时,我们可以仅传入 1 个参数,此时该参数会传给 str1 参数,而 str2 会使用默认的参数,如程序中第 6 行代码所示。
 
  有读者可能会问,对于自己自定义的函数,可以轻易知道哪个参数有默认值,但如果使用 Python 提供的内置函数,又或者其它第三方提供的函数,怎么知道哪些参数有默认值呢?
 
  Pyhton 中,可以使用“函数名.__defaults__”查看函数的默认值参数的当前值,其返回值是一个元组。以本节中的 dis_str() 函数为例,在其基础上,执行如下代码:
  print(dis_str.__defaults__)
  程序执行结果为:
  ('http://c.biancheng.net/python/',)

(编辑:丽水站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读