前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】函数进阶 ② ( 函数参数传递类型简介 | 缺省参数 | 不定长参数 | 通过位置传递的不定长参数 | 通过关键字传递的不定长参数 )

【Python】函数进阶 ② ( 函数参数传递类型简介 | 缺省参数 | 不定长参数 | 通过位置传递的不定长参数 | 通过关键字传递的不定长参数 )

作者头像
韩曙亮
发布2023-10-11 18:27:50
4960
发布2023-10-11 18:27:50
举报
文章被收录于专栏:韩曙亮的移动开发专栏

一、函数参数传递类型

函数参数传递类型 :

  • 位置参数 : 函数 调用时 按照参数在函数 定义时 的位置进行传递 ; ( 形参 和 实参 顺序 和 个数 必须一一对应 )
  • 关键字参数 : 函数 调用时 使用 " 键 = 值 " 的形式 , 传入参数 ;
  • 缺省参数 : 函数 调用时 , 如果没有传入该参数 , 使用缺省参数默认值作为实参 ;
  • 不定长参数 : 在 定义函数 时 , 不确定 调用时会传递多少个参数 , 函数调用时可以传入任意个参数 ;

1、缺省参数

" 缺省参数 " 又称为 " 默认参数 " , 在 定义函数时 , 可以为参数设置一个默认值 ,

在调用函数时 , 可以选择 传入该 缺省参数 , 也可以选择 不传入 缺省参数 ,

  • 如果不传入参数 则 使用默认值作为实际参数 ;
  • 如果 传入参数 则 使用传入的值作为实际参数 ;

设置 的 缺省参数 , 在定义时 , 必须放在 形参列表的最后 ;

代码示例 :

代码语言:javascript
复制
"""
函数多返回值 代码示例
"""


def info(name, age=16):
    print(f"{name} is {age} years old")


# 缺省参数 - 与关键字参数结合使用
# Jerry is 16 years old
info(name='Jerry')

# 缺省参数 - 与位置参数结合使用
# Trump is 16 years old
info('Trump')

# 缺省参数 - 传入缺省参数
# Joe is 21 years old
info('Joe', age=21)

执行结果 :

代码语言:javascript
复制
Jerry is 16 years old
Trump is 16 years old
Joe is 21 years old

2、不定长参数

" 不定长参数 " 又称为 可变参数 , 在 定义函数 时 , 不确定 调用时会传递多少个参数 , 就使用 不定长参数 ;

在 函数调用时 , 不定长参数 , 可以传入 若干 个参数 ;

不定长参数 又分为 两种类型 :

  • 位置传递参数
  • 关键字传递参数
通过位置传递的不定长参数

通过位置传递的不定长参数语法 :

代码语言:javascript
复制
def 函数名(*args)
	# 函数体

*args 就是不定长参数 , 所有传入的参数 , 都会被 args 参数接收 , 这些参数都会被封装到一个 元组 tuple 中 ;

args 可以理解为 元组 数据容器 类型 ;

注意 : 通过位置传递的 不定长参数 前面有一个 * 符号 ;

代码示例 :

代码语言:javascript
复制
"""
函数多返回值 代码示例
"""


def info(*args):
    print(args)


# 不定长参数 - 位置传递参数
# ('Tom',)
info('Tom')

# 不定长参数 - 位置传递参数
# ('Trump', 80)
info('Trump', 80)

执行结果 :

代码语言:javascript
复制
('Tom',)
('Trump', 80)
通过关键字传递的不定长参数

通过关键字传递的不定长参数语法 :

代码语言:javascript
复制
def 函数名(**args)
	# 函数体

**args 就是通过关键字传递的不定长参数 , 所有传入的参数 , 都是由键值对组成的 , 这些键值对都会被封装到字典中 ;

args 可以理解为 字典 数据容器 类型 ;

注意 : 通过位置传递的 不定长参数 前面有两个 * 符号 ;

代码示例 :

代码语言:javascript
复制
"""
函数多返回值 代码示例
"""


def info(**args):
    print(args)


# 不定长参数 - 关键字传递参数
# {'name': 'Tom', 'age': 18}
info(name='Tom', age=18)

执行结果 :

代码语言:javascript
复制
{'name': 'Tom', 'age': 18}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、函数参数传递类型
    • 1、缺省参数
      • 2、不定长参数
        • 通过位置传递的不定长参数
        • 通过关键字传递的不定长参数
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档