【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)

您所在的位置:网站首页 python自定义参数 【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)

【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)

2024-07-13 02:56| 来源: 网络整理| 查看: 265

目录 API说明:固定参数例程默认参数例程可选参数元组例程有默认值的可选参数r例程综合例程全文代码合集总结

欢迎关注 『Python』 系列,持续更新中 欢迎关注 『Python』 系列,持续更新中

函数封装是进阶的重要内容,本文介绍了def定义函数的可选参数,默认参数。

API说明:

def 函数名(q,w=10,*e,r=None): 固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r(需要下方函数体语句配合)

固定参数例程

单个参数x,输入什么,返回什么

def q(x): return x y=q(8) print(y)#8 默认参数例程

要求默认参数在非默认参数之后,也就是这里必须写成e(y,x=10) 而不是e(x=10,y)

def w(y,x=10):#e的默认参数x是10 return x*10+y z=w(10) print(z)#110 可选参数元组例程

可选参数x,y 输入两个数,返回两个数之和,也可以只输入x,那么返回x+y 注意可选参数必须在参数列表的最后一个!

def e(x,*y): # return x+y#这里的y为什么要用sum函数呢?因为可选参数的格式模式是tuple,如果不用sum计算参数之和,会有类型不匹配相加的报错 return x+sum(y) z=e(8,10) print(z)#18 z=e(8,10,18)#可以随意输入多个不同的参数,默认按照参数先后顺序进入tuple,利用这点可以调用自己想要的参数 print(z)#36 有默认值的可选参数r例程

有默认值的可选参数 利用none来判断,是否有通过外部参数赋值,如果是none说明需要使用默认参数值30

def r(x, y=None): if y is None: y = 30 return x+y z=r(10,10) print(z)#20 综合例程

综合应用上述的可选参数,默认参数,注意参数的位置前后顺序 固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

def qwer(q,w=10,*e,r=None): if r is None: r=40 return q,w,e,r z=qwer(10,20)#(10, 20, (), 40) print(z) z=qwer(10,20,30)#(10, 20, (30,), 40) print(z) 全文代码合集 # @Time : 2021/12/12 9:36 # @Author : 南黎 # @FileName: 学习设置定义def函数的参数.py #单个参数x,输入什么,返回什么 def q(x): return x y=q(8) print(y)#8 #默认参数 #要求默认参数在非默认参数之后,也就是这里必须写成e(y,x=10) 而不是e(x=10,y) def w(y,x=10):#e的默认参数x是10 return x*10+y z=w(10) print(z)#110 # 可选参数x,y 输入两个数,返回两个数之和,也可以只输入x,那么返回x+y # 注意可选参数必须在参数列表的最后一个! def e(x,*y): # return x+y#这里的y为什么要用sum函数呢?因为可选参数的格式模式是tuple,如果不用sum计算参数之和,会有类型不匹配相加的报错 return x+sum(y) z=e(8,10) print(z)#18 z=e(8,10,18)#可以随意输入多个不同的参数,默认按照参数先后顺序进入tuple,利用这点可以调用自己想要的参数 print(z)#36 #有默认值的可选参数 #利用none来判断,是否有通过外部参数赋值,如果是none说明需要使用默认参数值30 def r(x, y=None): if y is None: y = 30 return x+y z=r(10,10) print(z)#20 #综合应用上述的可选参数,默认参数,注意参数的位置前后顺序 #固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r def qwer(q,w=10,*e,r=None): if r is None: r=40 return q,w,e,r z=qwer(10,20)#(10, 20, (), 40) print(z) z=qwer(10,20,30)#(10, 20, (30,), 40) print(z) 总结

大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2021 mzh

Crated:2021-12-12

欢迎关注 『Python』 系列,持续更新中 欢迎关注 『Python』 系列,持续更新中 【Python安装第三方库一行命令永久提高速度】 【使用PyInstaller打包Python文件】 【更多内容敬请期待】



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3