python3 *args 、 **args 在函数定义和调用中的应用
一、函数调用时
说明:*args 表示解包(解包 列表、元组、字符串类型)
#定义函数cn_musql
def cn_musql(host,port,user,pwd,db):
print(host)
print(port)
print(user)
print(pwd)
print(db)
#函数调用
args = ['127.0.0.1',3306,'root','123456','szz']
cn_musql(*args) #拆分列表args,与函数cn_musql的参数一 一对应起来;元组、字符串也可以;数量要一致。
#函数运行结果
127.0.0.1
3306
root
123456
szz
二、函数定义时
说明:*args 表示搜集余下的位置参数,将接收到的参数放在/封装在一个 元组 里面,没有可供搜集的参数,元组 为空。
==============例子1(注意参数的位置)=================
# 定义函数params
def params(*names,sex):
print(sex)
print(names)
#函数调用时的写法
params('jack','tom','apple',sex='male')
#函数执行结果
male
('jack', 'tom', 'apple')
===============例子2(注意参数的位置)==================
#函数定义
def params(sex,*names):
print(sex)
print(names)
#函数调用
params('male1','jack1','tom1','apple1')
#函数运行结果
male1
('jack1', 'tom1', 'apple1')
注:**args用法类似,数据类型针对 字典。