欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
函数封装是进阶的重要内容,本文介绍了def定义函数的可选参数,默认参数。
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
有默认值的可选参数
利用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文件】
【更多内容敬请期待】