python之带*解释
python中参数组 *args,**kwargs,位置参数(一个星*返回元祖),关键字参数(两个星*返回字典)
# 参数组 *args def send_mail(*names): for name in names: print('%s参数值!'%name) send_mail() # 不传参数! send_mail('测试') # 传一个参数: 返回元祖 send_mail('参数','ces,'zhangshan')
打印结果
测试参数值!
参数参数值!
ces参数值!
1234参数值!
二、字典
def zidian(**info): print(info) # 参数是否传,不是必填的 # 位置传参不可以 zidian('1','2'),只能是key+value # 关键字传参可返回字典 # 是否限制参数的个数 不限制 zidian() zidian(name='xiaosi',age=16,phone='111111') #打印结果 {} {'name': 'xiaosi', 'age': 16, 'phone': '111111'}
三、元祖以单星传送
def op_mysql(host, port, user, passwd, db):
print(host)
print(port)
print(user)
print(passwd)
print(db)
# db_info=['127.0.0.1',3306,'root','123456','szz']
db_info = ('127.0.0.1', 3306, 'root', '123456', 'szz') #db_info 是列表和元祖都可以单星传送
op_mysql(*db_info) # 一个星* 调用函数,代表拆开这个列表,挨个对应好
'''
打印结果
127.0.0.1
3306
root
123456
szz
'''
db_info2={
'host':'127.0.0.1',
'port':3306,
'user':'szz',
'passwd':'123456',
'db':'szz'
}
op_mysql(**db_info2) # 两个*调用函数,把字典解开,host=127.0.0.1,port=3306
'''
打印结果
127.0.0.1
3306
root
123456
szz
'''