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
    +关注

    关注

    57

    文章

    4857

    浏览量

    89559
  • ASSERT
    +关注

    关注

    0

    文章

    17

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言的printf基本用法介绍

    个简单的例子: printf(\"C语言\"); 这个语句可以在屏幕上显示“C语言”,与puts(\"C语言\");的效果类似。 输出变量 abc 的值
    发表于 11-12 07:04

    一文了解Mojo编程语言

    Mojo 语言的具体介绍: 核心特点 Python 兼容性 Mojo 支持大部分 Python 语法和标准库,可直接调用 Python
    发表于 11-07 05:59

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

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

    【正点原子STM32MP257开发板试用】基于 DeepLab 模型的图像分割

    /atk_segmentation_demo.zip解压该文件; 该例程使用 python 语言,因此将 python 程序和模型等文件直接传输至板端; 连接正点原子 imx335 摄像头; 板端进入例程可执行文件对应目录,执行
    发表于 06-21 21:11

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

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

    python入门圣经-高清电子书(建议下载)

    此资料内容是一本针对所有层次的Python 读者而作的Python 入门电子书。 全书分两部分:第一部分介绍Python 编程所必须了解的基本概念,包括matplotlib、NumP
    发表于 04-10 16:53

    C语言的历史及程序介绍

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

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

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

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些嵌入式场景
    的头像 发表于 03-19 14:10 1186次阅读

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

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

    数字电路编程语言介绍

    数字电路编程语言是专门为描述和模拟数字电路而设计的编程语言。它们通常具有以下特点: 硬件描述语言(HDL) :大多数数字电路编程语言都是硬件描述语言
    的头像 发表于 01-24 09:39 1387次阅读

    Flexus 云服务器 X:Python 安装的极致便捷之旅

    前言         Python 作为一种高级编程语言,因其简洁易读的语法和强大的库支持,在数据科学、人工智能、Web 开发等领域得到了广泛应用。然而,不同平台上的安装过程可能会有所不同,尤其是在
    的头像 发表于 01-07 17:00 545次阅读
    Flexus 云服务器 X:<b class='flag-5'>Python</b> 安装的极致便捷之旅

    gitee 支持的编程语言有哪些

    Gitee 支持的常见编程语言Python :一种广泛使用的高级编程语言,以其清晰的语法和代码可读性而闻名。 Java :一种面向对象的编程语言,被广泛用于企业级应用开发。 C+
    的头像 发表于 01-06 09:50 1105次阅读

    Triton编译器支持的编程语言

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

    语言模型开发框架是什么

    语言模型开发框架是指用于训练、推理和部署大型语言模型的软件工具和库。下面,AI部落小编为您介绍语言模型开发框架。
    的头像 发表于 12-06 10:28 825次阅读