+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-08(103)

2019-09(85)

2019-10(9)

2019-11(4)

2019-12(18)

python*与**收集/解包序列(含实例讲解)

发布于2020-06-25 22:16     阅读(554)     评论(0)     点赞(27)     收藏(1)


本博文源于python基础,旨在对收集参数与序列解包进行学习与练习

参数传递

参数传递时,定义的函数如果既有无默认值的函数,又有默认值的函数,应当把有默认值的参数后面。这样在调用函数时,前面的无默认值的参数就可以依次序列取得调用时所给的值。对于默认值参数,没有依次取得时,就使用默认值,给函数调用带来很大的便利。

可变数量参数传递

*参数传递

单“*”表示参数是个元组。比如下面的例子

例子:输出单*参数的类型值

def change_para_num(*tp1):
    print(type(tp1))
    print(tp1)
change_para_num(1)
change_para_num(2,3,4)

在这里插入图片描述
通过这个大家会发现,单星元组接收的效果。当自定义函数时,参数中含有前面所介绍的三种类型参数,则一般来说带星号的参数应放在最后。

**参数传递

使用元组来收集参数的参数时,调用时提供的参数不能为关键字参数,如果要收集不定数量的关键字参数,就加两颗星,类型变为字典。

例子:输出立方体的属性:颜色、体积和重量

def cube(name, **nature):
    all_nature = {'x': 1,
                  'y': 1,
                  'z': 1,
                  'color': 'white',
                  'weight': 1}
    all_nature.update(nature)
    print(name, "立方体的属性:")
    print("体积:", all_nature['x'] * all_nature['y'] * all_nature['z'])
    print("颜色:", all_nature['color'])
    print("重量:", all_nature['weight'])

cube('first')
cube('second',y=3,color='red')
cube('third',z=2,color='green',weight=10)

在这里插入图片描述

拆解序列的函数

实例加强理解

拆解元组

用单星

拆解字典

用双星

例子:拆解元组与字典实现加数运算

def mynum(a,b):
    return a+b

print('拆解元组调用:')
print(mynum(*(3,4)))
print('拆解字典调用:')
print(mynum(**({'a':3,'b':4})))

在这里插入图片描述

原文链接:https://blog.csdn.net/m0_37149062/article/details/106927929



所属网站分类: 技术文章 > 博客

作者:fhue34873

链接: https://www.pythonheidong.com/blog/article/430677/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

27 0
收藏该文
已收藏

评论内容:(最多支持255个字符)