python3 参数*args 、 **args 在函数定义和调用中的应用

时间:2021-10-15 20:16:35

一、函数调用时

说明:*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用法类似,数据类型针对 字典。