每天一点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
#函数的参数定义
相关推荐
AI工具人PM产品经理3 分钟前
CSDN 自动发布全流程实战:从 CKEditor HTML 注入到创作页就地发布
python
_Jimmy_7 分钟前
Tool Calling 与 Function Calling 区别
人工智能·python·langchain
逆风飞翔的小叔20 分钟前
【Python基础】Python 流程控制语句使用详解
python·python 流程控制语句·python 流程控制·python 流程控制语句使用·python 流程控制语句详解
2601_9638702231 分钟前
基于Python的晋江文学城热门作品数据分析与可视化
开发语言·python·数据分析
llwszx35 分钟前
【Java/Go后端手撸原生Agent(第七篇):Token预算管理 + 滑动窗口上下文裁剪】
java·后端·python·agent开发·上下文工程·上下文裁剪·滑动窗口裁剪
我怎么又饿了呀39 分钟前
DataWhale—量化金融(task8 最大回撤 和 仓位管理)
python·金融·量化
Black_Rock_br1 小时前
打通 PyTorch Monarch 与 ROCm:单 Controller 架构的异构算力实战
人工智能·pytorch·python·开源
其实防守也摸鱼1 小时前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全
weixin_BYSJ19871 小时前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
风痕天际2 小时前
Pytorch开发教程1——CUDA安装
人工智能·pytorch·python