python中函数的序列传参,列表拆解传参、字典拆解传参

简介: python中函数的序列传参,列表拆解传参、字典拆解传参

一、函数的列表传参



列表举例 [“a”,”b”,”c”]

其实在使用列表传参的时候比较简单,只需要将实际的列表作为参数传入到调用的函数中的时候,在列表变量前加上一个星号*即可把某个列表拆分成多个参数传入到自定义函数中。如果调用的时候不加*那么多把列表看成一个整体传入。

举例:

list2=["a","b","c"]

def P2(*s1):

   for v in s1:

       print("<"+str(v)+">")

   pass


P2(*list2)


列表拆解传参的注意事项

注意:如果在自定义函数的时候,定义的参数前没有加*,那么我们在调用这个函数的时候,也不能在列表参数值前加*。其实在这里,我们如果想要将列表拆解成多个参数进行传入的时候,我们必须就是要定义一个可变参数,而定义可变参数的时候,我们必须要加上一个*

本质:列表拆解传入的时候 ,自定义函数的参数个数必须要支持实际拆解传参调用函数。


二、函数的字典传参



类似于列表拆解传参,只不过在传入的参数前面加上两个*,也即使说使用双星号**

举例:

dic1={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}

def D1(**d):

   print(d)


D1(**dic1)

注意:在定义函数的时候使用**进行定义的话,我们必须在调用的时候也要对传入的字典加上**


同样类似于列表的去星号方式

在定义字典作为参数的时候,如果定义的参数没有**,那么在调用这个函数的时候,也不要加上**,否则直接报错。


三、知识总结:



函数的序列传参


1.列表的拆解传参,可以使用*,也可以省略,具体要看传入的参数的数量作为本质条件。

2.掌握字典的拆解传参,使用**,具体使用方法类似于列表


本节源代码

#对比可变参数与列表传参的区别
#可变参数的情况
# def P(*s1):
#     for v in s1:
#         print("<"+str(v)+">")
#     pass
#
# list1=["a","b","c"]
#
# P(list1,"123","ggg")
#拆解列表传参的情况
# list2=["a","b","c"]
# def P2(*s1):
#     for v in s1:
#         print("<"+str(v)+">")
#     pass
#
# P2(*list2)
#
# #定义的时候不加星号的情况
# list3=["a","b","c"]
# def P3(s1):
#     for v in s1:
#         print("【"+str(v)+"】")
#
# P3(list3)
#定义参数数量和列表中的值的数量相同的情况
# list4=["a","b","c"]
# def P4(s1,s2,s3):
#     print("#"+s1+"#")
#     print("#" + s2 + "#")
#     print("#" + s3 + "#")
#
# P4(*list4)
#自定义字典的传入输出
# dic1={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}
# def D1(**d):
#     for s1 in d.items():
#         print(s1[0]+"="+s1[1])
#
# D1(**dic1)
dic2={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}
def D2(d):
    for s1 in d.items():
        print(s1[0]+"="+s1[1])
D2(dic2)

执行效果(注释的代码将没有显示效果):

name=老刘
work=程序员
微信公众号=编程创造城市
相关文章
|
9月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
500 2
|
9月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
1614 1
|
9月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
423 0
|
10月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
392 101
|
存储 Python
Python可变传参: *args和**kwargs
Python可变传参: *args和**kwargs
|
10月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1660 102
|
10月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
511 104
|
10月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
399 103
|
10月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
428 82
|
9月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
532 3

推荐镜像

更多