每天一点python——day78

python 复制代码
#每天一点Python------78
#函数的参数定义
'''
个数可变的位置参数
定义函数时,可能无法事先确定传递的位置实参个数时,使用可变的位置参数
使用*号定义个数可变的位置形参
结果为一个元组
【我在传参的时候,不知道最后到底传几个,所以就用个数可变的位置参数】
'''
#例:
def h1(*canshu):#括号里面的*,canshu为参数名字【可以随你定】
    print(canshu)
    #print(canshu[0]),[0]的意思是,不管你传多少参数,它可以只输出第一个
h1(1)#调用函数,传一个参数
h1(1,2)#传两个
h1(1,2,3)#传3个
'''
结果为:
(1,)
(1, 2)
(1, 2, 3)
是元组
以上是函数定义时的可变的位置参数,
为什么是可变的位置参数:按位置顺序一个个传的,传多少都可以
'''
#二
'''
个数可变的关键字形参
定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字行参
使用**定义个数可变的关键字形参
结果为一个字典
【无法事先确定传递的关键字实参的个数,就使用可变的关键字形参】
'''
#例
def h2(**guanjianzi):
    print(guanjianzi)

#调用
h2(a=10)
h2(a=20,b=30,c=40)
'''
结果:
{'a': 10}
{'a': 20, 'b': 30, 'c': 40}
结果为字典
a为健,10为值
不管来多少关键字,我都可以给你用
'''
#我们常用的print函数里面就有
#如何打开

'''
注意,定义可变的位置参数只能定义一个
def han3(*q.*w):#定义两个
    pass
会报错,所以我注释了
'''

'''
定义可变的关键字参数也只能定义一个
def h4(**e,**m):
    pass
也同样报错,我注释了
'''
#综上所述,定义函数的过程中,可变的位置参数,关键字参数只能有一个
#思考:如果定义一个函数过程中,既有个数可变的位置参数,也有个数可变的关键字参数,怎么办?
#例
def h5(*aq1,**ag2):
    pass
#发现程序不报错,说明可以
'''
def h6(**g1,*g2):
    pass
发现程序报错,则说明
在函数定义过程中,既有个数可变的关键字参数,也有个数可变的位置参数
要求个数可变的位置形参,放在个数可变的关键字形参之前
'''
复制代码
#每天一点Python——78
#函数的参数定义
相关推荐
跟橙姐学代码35 分钟前
Python时间处理秘籍:别再让日期时间卡住你的代码了!
前端·python·ipython
mortimer2 小时前
Python 文件上传:一个简单却易犯的错误及解决方案
人工智能·python
Juchecar3 小时前
NumPy编程:鼓励避免 for 循环
python
Java陈序员3 小时前
直播录制神器!一款多平台直播流自动录制客户端!
python·docker·ffmpeg
c8i3 小时前
drf 在django中的配置
python·django
这里有鱼汤5 小时前
【花姐小课堂】新手也能秒懂!用「风险平价」打造扛造的投资组合
后端·python
databook19 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar20 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805120 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_20 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi