每天一点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
#函数的参数定义
相关推荐
寻星探路11 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
ValhallaCoder14 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
猫头虎14 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
八零后琐话15 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
青春不朽51216 小时前
Scrapy框架入门指南
python·scrapy
MZ_ZXD00116 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
全栈老石17 小时前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
梨落秋霜17 小时前
Python入门篇【模块/包】
python
阔皮大师18 小时前
INote轻量文本编辑器
java·javascript·python·c#