美文网首页
分别用Python的*和**语法将元组和字典映射到位置参数和关键

分别用Python的*和**语法将元组和字典映射到位置参数和关键

作者: zlrs | 来源:发表于2018-07-30 19:46 被阅读0次

* 语法

用于函数传参中,对于需要多个位置参数(positional argument)的函数,将元组或列表展开(unpacking)为一个或多个位置参数。
注:其实只要是可迭代(iterable)的对象都可以通过此方式展开,而不仅仅是前面讲的元组或列表。

row = ('ACME', 50, 91.5)
lis = list(row)
print(*row)
print(*lis)

等效于print('ACME', 50, 91.5)
输出:
ACME 50 91.5
ACME 50 91.5

** 语法

用于函数传参中,对于需要多个关键字参数(keyword argument)的函数,将词典展开(unpacking)为一个或多个关键字参数

d={ 'end':'!!!\n', 'sep':', '}
print('Hello', 'world', **d)

输出:
Hello, world!!!

同时使用 * 和 ** 语法

row = ('ACME', 50, 91.5)
d={ 'end':'!!!\n', 'sep':', '}
print(*row, **d)

输出:
ACME, 50, 91.5!!!

Exception Note

注意:print(*row, **d)print(sep=', ', end='!!!\n', *row) 的写法都是OK的,但是不可以写成print(**d, *row). 因为位置参数不可在关键字参数之后。

否则将提示
SyntaxError: iterable argument unpacking follows keyword argument unpacking

参考

*args 和 **kwargs - 《Python 进阶》on Gitbook

相关文章

  • 分别用Python的*和**语法将元组和字典映射到位置参数和关键

    * 语法 用于函数传参中,对于需要多个位置参数(positional argument)的函数,将元组或列表展开(...

  • python 函数

    参数 定义函数位置参数关键字参数:设置默认值收集参数:(*p,**f)将多余的参数转化成元组和字典。 调用函数参数...

  • Python数据结构

    Python中数据结构可以统称为容器,常见的数据结构包括序列(列表和元组等),映射(字典)和集合(Set)。一 、...

  • Python基础之元组、字典,集合详解

    之前总结了Python列表,这篇总结Python的元组,字典和集合。 一 元组 tuple Python 的元组与...

  • Python学习笔记[2]

    常见的数据类型字符串的常用操作列表的语法和使用元组的语法和使用字典的语法和使用 常见的数据类型 Python中的数...

  • Python(参数) (2020/9/10)

    小言 今天学到的几个基础知识很好的理解python的代码 1)缺省参数 2)多值参数 3)元组和字典拆...

  • 字典值与元组的值交换

    定义一个函数,能够输入字典和元组。将字典的值(value) 和 元组的值交换, 交换结束后,打印并且返回 字典和元祖。

  • 2

    *args 接收n位置参数,转换成元组 **kwargs 接收n个关键字参数,转换成字典 装饰器 importti...

  • 2018-06-29

    python学习 学习python字符串、列表、元组、字典、日期和时间模块

  • Python学习杂记——函数篇

    函数的定义: 函数中调用全局变量:使用global关键字标识 缺省参数: 不定长参数: 元组和字典拆包: 函数的递...

网友评论

      本文标题:分别用Python的*和**语法将元组和字典映射到位置参数和关键

      本文链接:https://www.haomeiwen.com/subject/qwcqvftx.html