IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python:*args和**kwargs的区别和函数参数传递的应用 -> 正文阅读

[Python知识库]Python:*args和**kwargs的区别和函数参数传递的应用

目录

一、 *args和**kwargs的区别

1.1 区别

1.2 代码示例

1.3 运行结果?

二、*args和**kwargs在函数参数传递的应用

2.1 代码示例

2.2 运行结果

三、参考资料

四、心得体会


一、 *args和**kwargs的区别

1.1 区别

*args和**kwargs是一种约定俗成的命名方式,为了方便大家进行辨认和学习,实际上也可以自己命名如:*var,**kwvar等,最主要的区别在于*以及*的个数。

*args相当于一个列表,可以接收任意数量的非键值对参数,作为参数传递给一个函数。

**keargs相当于一个字典,可以接收不定长度的键值对,作为参数传递给一个函数。

1.2 代码示例

# 定义一个函数,定义一个参数kwargs,前面的**代表可接收任意数量的键值对。
def self_intro_kwargs(**kwargs):
    for key, value in kwargs.items():
        print("{0} is {1}".format(key, value), end=',')


self_intro_kwargs(My_name='Apple', my_color='red', my_size='not big', but_my_taste='delicious')


# 定义一个函数,定义一个参数args,前面的*代表可接收任意数量的非键值对。
def self_intro_args(*args):
    for parameter in args:
        print(parameter, end=' ')


self_intro_args('my', 'name', 'is', 'Banana,', 'my', 'color', 'is', 'yellow,', 'i\'m', 'tall',
                'and also delicious')

1.3 运行结果?

二、*args和**kwargs在函数参数传递的应用

2.1 代码示例

# 定义一个参数传递函数用于测试
def test_args_kwargs(var1, var2, var3):
    print("the first parameter:", var1)
    print("the second parameter:", var2)
    print("the third parameter:", var3)
    print('')


# 两种调用方式,第一种直接输入参数,第二种使用*args或者**kwargs
# 第一种直接输入参数
test_args_kwargs(857, 996, 666)
# 第二种使用*args或者**kwargs
para = (857, 996, 666)
test_args_kwargs(*para)  # 如果没有*,将会导致报错,误以为只是只传入para这个参数,导致var2,var3缺失

kwpara = {'var1': 666, 'var2': 857, 'var3': 996}
test_args_kwargs(**kwpara)

2.2 运行结果

?

三、参考资料

Python 入门指南 — Python3 中文手册 3.5.2 文档

四、心得体会

1.合适的参考文档和信息检索

2.适当的上手实践,用自己的方式重新学习,学习效果会更好

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:14:36  更:2022-02-24 15:16:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:33:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码