Python函数的必选参数、默认参数、可变参数、关键字参数和命名关键字参数

必选参数

def function(args_name):
    print (args_name)

function("参数调用")
~$ 参数调用

跟在函数名口号内的为参数名,参数在调用函数时必须给函数传递指定数量的参数

默认参数

def function(args_name="参数调用"):
    print(args_name)
function()

~$ 参数调用

参数名后使用=号给参数赋值之后参数拥有了默认值,以后在调用该参数时,不给默认参数赋值程序也不会报错

可变参数

def function(*args_name):
    sum = 0
    for i in args_name:
        sum +=i
    print(sum)
function(1,2,3,4,5)

~$ 15

可变参数的定义是在参数前添加一个*号,可变参数在函数内被视为一个tuple .「该参数可不传参」

关键字参数

def function(**args_name):
    print(args_name['name'])
function(name="jobs",age=18)

~$ jobs

关键字的意思是以dict作为数据类型将参数传递给函数,key:value 「该参数可不传参」

命名关键字参数

def function(*,name,age,city):
    print("name:",name,"age:",age,"city:",city)
function(name="jobs",age=18,city="shanghai")

~$ name: jobs age: 18 city: shanghai

命名关键字参数就是将dict的key提前定义,调用函数时传参只能传入已定义key的参数

Original: https://www.cnblogs.com/alanwoz/p/16393749.html
Author: alanWoz
Title: Python函数的必选参数、默认参数、可变参数、关键字参数和命名关键字参数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581910/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 安装完Ubuntu启动时自动进入grub命令行模式的解决办法

    1.先使用ls命令,找到Ubuntu的安装在哪个分区: grub>ls 会罗列所有的磁盘分区信息,比方说: (hd0,1),(hd0,5),(hd0,3),(hd0,2) 2…

    Linux 2023年6月13日
    089
  • spring boot @Validated注解不生效[转]

    问题: 接口上添加了@Validated注解,但是bindingResult.hasErrors()的结果却是false,即一直不能返回验证信息,@Validated不生效,排查了…

    Linux 2023年6月8日
    097
  • ansible-复制模块

    简介:临时的,在ansible中是指需要快速执行的单条命令,并且不需要保存的命令。对于复杂的命令则为 playbook。 1、复制模块 可在终端执行ansible-doc copy…

    Linux 2023年6月6日
    0108
  • dbus的奇妙世界

    故事背景 在linux开发中我们经常会用到dbus来进行进程间通信,但是如何理解dbus服务端和客户端呢?很多小伙伴可能都会遇到类似的问题,而且都是含含糊糊的,接下来我们直接上硬菜…

    Linux 2023年5月27日
    083
  • 【Python】【Flask】【字符串索引】计算人民币与美元的相互计算

    简介 Python Code 导包 设置首页 计算的接口 问题0:设置请求方式 问题1:关于接收数据可能存在的问题 问题2:返回结果 启动 完整代码 HTML Code 问题分析 …

    Linux 2023年6月14日
    097
  • Vim 编辑器|批量注释与批量取消注释

    添加注释 ctrl + v 进入块选泽模式。 上下键选中需要注释的行。 按大写 I 进入插入模式,输入注释符。 按两次 ESC 退出,即完成添加注释。 取消注释 ctrl + v …

    Linux 2023年5月27日
    0104
  • 分区表、文件系统等计算机基础知识

    开机固件 BIOS UEFI 特别老的BIOS不支持GPT分区 目前已取代BIOS 分区表类型 MBR GPT 1.不支持2TB以上的硬盘2.主分区不能超过4个3.可以通过建立扩展…

    Linux 2023年6月7日
    098
  • GT/s和Gbps的关系

    GT/s 和 Gbps 数据传输表示通过数字接口传递的数据量。 当用较多的数据位对原始数据进行编码时,有效数据传输量低于实际传输的数据位数。例如:PCIe串行总线采用10位数据对8…

    Linux 2023年6月7日
    093
  • Linux下使用压力测试工具stress

    首先解压安装包到/usr/local/src/下 mv stress-1.0.4.tar.gz /usr/local/src​tar -zxf stress-1.0.4.tar.g…

    Linux 2023年6月13日
    085
  • Qt-Vnc远程

    VNC简介 VNC(Virtual Network Computing)是基于RFB(Remote Frame Buffer)协议的远程系统,C/S端口默认为5900,B/S端口默…

    Linux 2023年6月8日
    0487
  • 吴军《浪潮之巅》阅读随笔(二)信息产业的规律性

    在这本书上册的最后一章《信息产业的规律性》中,有几个问题让我很感兴趣。 在信息科技某个领域发展成熟之后,一般在全球容不下三个以上的主要竞争者,这个行业一定有一个老大、是这个行业的主…

    Linux 2023年6月14日
    0127
  • 初探paramiko

    paramiko模块简介 paramiko是基于SSHv2协议开发的,可用于连接远程SSH服务器,通过SSH连接执行远程命令或者文件传输。paramiko支持Python(2.7,…

    Linux 2023年6月7日
    081
  • 【转载】Springboot整合 一 集成 redis

    原文:http://www.ityouknow.com/springboot/2016/03/06/spring-boot-redis.html https://blog.csdn…

    Linux 2023年5月28日
    0101
  • Docker安装使用–Centos

    前言 Docker安装使用 安装步骤 卸载旧版本 安装utils 配置utils的存储库 安装Docker 安装指定版本Docker 验证安装 官网安装说明 阿里云镜像加速 Doc…

    Linux 2023年6月7日
    086
  • django queryset列表合并

    import itertools queryset_top = query.filter(is_top=True).order_by("-updated_at"…

    Linux 2023年6月14日
    066
  • Redis Sentinel实现的机制与原理详解

    Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署。 它…

    Linux 2023年5月28日
    0115
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球