每天一点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
#函数的参数定义
相关推荐
折翼的恶魔9 分钟前
数据分析:合并二
python·数据分析·pandas
三体世界3 小时前
测试用例全解析:从入门到精通(1)
linux·c语言·c++·python·功能测试·测试用例·测试覆盖率
Python私教3 小时前
Django全栈班v1.04 Python基础语法 20250912 下午
后端·python·django
xchenhao3 小时前
Scikit-Learn 对糖尿病数据集(回归任务)进行全面分析
python·机器学习·回归·数据集·scikit-learn·特征·svm
xchenhao3 小时前
Scikit-learn 对加州房价数据集(回归任务)进行全面分析
python·决策树·机器学习·回归·数据集·scikit-learn·knn
这里有鱼汤3 小时前
发现一个高性能回测框架,Python + Rust,比 backtrader 快 250 倍?小团队必备!
后端·python
☼←安于亥时→❦3 小时前
数据分析之Pandas入门小结
python·pandas
带娃的IT创业者3 小时前
《Python Web部署应知应会》No3:Flask网站的性能优化和实时监测深度实战
前端·python·flask
赴3353 小时前
图像拼接案例,抠图案例
人工智能·python·计算机视觉
TwoAI4 小时前
Scikit-learn 机器学习:构建、训练与评估预测模型
python·机器学习·scikit-learn