栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python可变参数 函数与调用函数中*号的不同用法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python可变参数 函数与调用函数中*号的不同用法

python可变参数 函数与调用函数中*号的不同用法 一般函数调用:
def func(x1,x2):
    print(x1,x2)

func(1,2)
#结果输出:1 2
函数中有可变参数,调用函数时没有*号:
def func(x1,*x2):
    print(x1,x2)
    print(type(x2))

func(1,2)
#结果输出:1 (2,)  x2是tuple 元组类型
func(1)
#结果输出:1 ()  x2是tuple 元组类型
函数中没有可变参数,调用函数时有*号:

首先,*号后面必须是可迭代的数据类型

def func(x1,x2):
    print(x1,x2)
    print(type(x2))

func(1,*[2])
#结果输出:1 2  x2是int类型
-----------------------------------
def func(x1,x2):
    print(x1,x2)
    print(type(x2))

func(1,*[2,3])
#程序报错
-----------------------------------
def func(x1,x2,x3):
    print(x1,x2,x3)
    
func(1,*[2,[0,0]])
#程序输出:1 2 [0, 0]

这就说明当函数本身没有可变参数时,在调用函数时加上*号,程序会将*号后的可迭代的数据分解成一个个变量

函数有可变参数,调用时也有*号
def func(x1,*x2):
    print(x1,x2)

func(1,*[2,[0,0],'asd'],10)
#程序输出:1 (2, [0, 0], 'asd', 10)

此时调用时*号后的可迭代数据会被分解成普通数据加入到可变参数行列中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754352.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号