0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python语言之参数args与kwargs介绍

冬至配饺子 ? 来源:缪斯之子 ? 作者:肖新苗 ? 2022-08-23 10:39 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

*args: 看例子及注释

# *: 输入的是位置参数,例如: 1,2 , 输出的是元组(1,2)
def args(*args):
return args

def test_args():
v = args()
assert () == v, 'args 空参数错误'

v = args(1, 2)
assert (1, 2) == v, 'args 1 tuple error'

params = (1, )
# *: 输入的是序列, 输出的是位置参数, 1,2,
v = args(*params)
assert (1, ) == v, 'args 1 tuple error'

params = (1, 2, 3)
v = args(*params)
assert (1, 2, 3) == v, 'args 3 tuple error'

params = [1, 2, 3]
v = args(*params)
assert (1, 2, 3) == v, 'args 3 list error'

# set 也可以用set((1,2,3))初始化
params = {1, 2, 3}
v = args(*params)
assert (1, 2, 3) == v, 'args 3 set error'

params = range(1, 4)
v = args(*params)
assert (1, 2, 3) == v, 'args range(1,4) error'

params = 'a'
v = args(*params)
assert ('a', ) == v, 'args 1 str error'

params = 'a', 'b'
v = args(*params)
assert ('a', 'b') == v, 'args 1 str error'

2.**kwargs: 看例子及注释

# **输入的是命名位置参数,例如: a=1,b=2 , 输出的是字典{'a':1,'b':2}
def kwargs(**kwargs):
return kwargs

def test_kwargs():
v = kwargs()
assert {} == v, 'kwargs 空参错误'

v = kwargs(a=1, b=2)
assert {'a': 1, 'b': 2} == v, 'kwargs 传a=1格式错误'

param = {'a': 1, 'b': 2}
# **: 输入的是字典, 输出的是命名位置参数: a=1,b=2
v = kwargs(**param)
assert {'a': 1, 'b': 2} == v, 'kwargs 传字典错误'



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    56

    文章

    4831

    浏览量

    87491
  • ASSERT
    +关注

    关注

    0

    文章

    17

    浏览量

    7514
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富
    的头像 发表于 07-24 15:32 ?162次阅读
    C++ 与 <b class='flag-5'>Python</b>:树莓派上哪种<b class='flag-5'>语言</b>更优?

    跟老齐学Python:从入门到精通

    础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容
    发表于 06-03 16:10

    C语言的历史及程序介绍

    电子发烧友网站提供《C语言的历史及程序介绍.pdf》资料免费下载
    发表于 04-09 16:10 ?0次下载

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是
    的头像 发表于 03-25 09:27 ?890次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    安装OpenVINO?工具包稳定扩散后报错,怎么解决?

    %self_norm1 : [#users=1] = call_module[target=self_norm1](args = (%input_tensor,), kwargs
    发表于 03-05 06:56

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言
    的头像 发表于 12-24 17:33 ?1016次阅读

    编程语言在人工智能中的使用

    。编程语言在AI的发展中扮演着至关重要的角色,它们为开发人员提供了构建和实现智能系统的工具和框架。 1. Python Python是人工智能领域最受欢迎的编程语言之一,原因有以下几点
    的头像 发表于 11-15 09:34 ?1041次阅读

    对比Python与Java编程语言

    Python与Java都是目前非常流行的编程语言,它们各有其独特的优势和适用场景。以下是对这两种编程语言的对比: 一、语法和易用性 Python 语法简洁,代码更易读,非常适合初学者。
    的头像 发表于 11-15 09:31 ?1228次阅读

    NPU支持的编程语言有哪些

    与NPU一起使用: C/C++ : C和C++是性能要求较高的应用的首选语言,尤其是在需要直接与硬件交互的场景中。许多NPU硬件都提供了C/C++接口,以便开发者能够充分利用硬件性能。 PythonPython是深度学习和
    的头像 发表于 11-15 09:21 ?2003次阅读

    C语言与其他编程语言的比较

    C语言作为一种历史悠久的编程语言,自其诞生以来,一直在软件开发领域扮演着重要角色。它以其高效、灵活和可移植性强的特点,成为了系统级编程的首选语言之一。
    的头像 发表于 10-29 17:30 ?1165次阅读

    Orin芯片的编程语言支持

    Orin是一款高度集成、高性能的车载计算平台,由英伟达推出,并采用了英伟达自家的Volta架构GPU和其他高级处理器技术。关于Orin芯片的编程语言支持,可以从以下几个方面进行介绍: 一、主要编程
    的头像 发表于 10-27 16:45 ?1057次阅读

    Python中多线程和多进程的区别

    Python作为一种高级编程语言,提供了多种并发编程的方式,其中多线程与多进程是最常见的两种方式之一。在本文中,我们将探讨Python中多线程与多进程的概念、区别以及如何使用线程池与进程池来提高并发执行效率。
    的头像 发表于 10-23 11:48 ?1077次阅读
    <b class='flag-5'>Python</b>中多线程和多进程的区别

    单片机STM32可以用Python写吗?可以的开发板有哪些?

    近年来,随着嵌入式技术的发展,Python语言逐渐被引入到单片机开发中,尤其是一些高性能的单片机上。这一趋势给开发者带来了极大的便利,尤其是在快速原型设计和实验中。本文将详细探讨STM32单片机是否
    的头像 发表于 09-05 08:00 ?7814次阅读
    单片机STM32可以用<b class='flag-5'>Python</b>写吗?可以的开发板有哪些?

    使用Python进行Ping测试

    )请求包,然后等待目标主机返回响应包,从而测量网络的延迟和丢包情况。随着Python编程语言的广泛应用,越来越多的网络工程师开始使用Python进行自动化网络测试和管理任务。本篇文章将详细介绍
    的头像 发表于 08-12 17:56 ?1072次阅读
    使用<b class='flag-5'>Python</b>进行Ping测试

    使用Python批量连接华为网络设备

    随着网络规模的扩大和设备数量的增加,手动配置和管理每台网络设备变得越来越不现实。因此,自动化工具和脚本变得尤为重要。Python语言以其简洁性和强大的第三方库支持,成为了网络自动化领域的首选。本篇文章将详细介绍如何使用
    的头像 发表于 08-12 17:48 ?966次阅读