python入门篇08- 函数进阶-参数传递

news2024/12/23 23:02:10

全文目录,一步到位

  • 1.前言简介
    • 1.1 专栏传送门
      • 1.1.1 上文小总结
      • 1.1.2 上文传送门
  • 2. python基础使用
    • 2.1 函数进阶 - 参数传递
      • 2.1.1 设置多个返回值
    • 2.2 传参方式(多种)
      • 2.1.0 代码准备
      • 2.1.1 方式一: `参数位置传递`
      • 2.1.2 方式二: `关键字参数传递`
      • 2.1.3 方式三: `缺省参数传递`
      • 2.1.4 方式四: `不定长参数传递`
      • 2.1.5 方式五: `关键字不定长参数传递`
    • 2.3 函数参数传递
      • 2.3.1 正常写法
      • 2.3.2 lambda匿名函数写法
  • 3. 基础语法总结案例
  • 4. 文章的总结与预告
    • 4.1 本文总结


1.前言简介

1.1 专栏传送门

=> 传送: python专栏 <=

1.1.1 上文小总结

介绍了几种数据容器 以及相对应的api操作
应用场景以及基础小案例

1.1.2 上文传送门

=> python入门篇07-数据容器(序列 集合 字典,json初识)基础(下)

2. python基础使用

2.1 函数进阶 - 参数传递

2.1.1 设置多个返回值

def test_func():
    return 1, 2, 3


# 看一种报错
# arg1, arg2 = test_func()
# print(arg1)  # ValueError: too many values to unpack (expected 2)


arg1, arg2, arg3 = test_func()
print(arg1)  # 1
print(arg2)  # 2
print(arg3)  # 3

print(test_func())  # (1, 2, 3) 元组

2.2 传参方式(多种)

2.1.0 代码准备

def test_func01(name, age, address):
    print(f"名字:{name},年龄:{age},地址:{address}")

2.1.1 方式一: 参数位置传递

test_func01("张三", 13, "地球")

2.1.2 方式二: 关键字参数传递

(这种类似 k-v结构 位置就可以不对应了)

test_func01(name="张三", address="地球", age=13)

ps: 看一个报错
TypeError: test_func01() missing 1 required positional argument: ‘age’

# test_func01(name="张三", address="地球")

2.1.3 方式三: 缺省参数传递

给参数设置默认值 不传递也可以
注意 设置默认值的多个参数 都必须放到最后

test_func01(name="张三", address="地球", age=13)

测试代码+整体效果如下:

# 名字:张三,年龄:13,地址:地球
# 名字:张三,年龄:13,地址:地球
# 名字:张三,年龄:13,地址:火星
# 名字:张三,年龄:13,地址:中国
test_func02(age=13, name="张三")
test_func02("张三", 13)
test_func02(age=13, address="火星", name="张三")
test_func02("张三", 13, "中国")

2.1.4 方式四: 不定长参数传递

不定长参数(类似java的可变参数)
不定长定义的形式参数作为元组存在 用 “*” 表示

def test_func03(*args):
    print(args)   # (1, 2, 3, 4)
    print(type(args))  # <class 'tuple'>


test_func03(1, 2, 3, 4)

2.1.5 方式五: 关键字不定长参数传递

变成 字典 用 “**” 表示
java没有此写法 直接传递map

def test_func04(**kwargs):
    print(kwargs)  # {'age': 12, 'name': '张三'}
    print(type(kwargs))  # <class 'dict'>


test_func04(age=12, name="张三")

2.3 函数参数传递

这个有点意思, 也就是把动作行为装成参数进行传递了

2.3.1 正常写法

参数传递的是函数 参数名随便写 也就是将函数运算过程(不是参数) 传递进去

def test_func01(test_func):
    result = test_func(1, 2)
    print(type(test_func))  # <class 'function'>
    print(result)  # 3


def test_func02(arg1, arg2):
    return arg1 + arg2


test_func01(test_func02)  # 3

2.3.2 lambda匿名函数写法

对上面函数进行改造 (一行代码lambda ,多行使用def)

test_func01(lambda x, y: x + y)

3. 基础语法总结案例

python入门篇09- 文件操作,函数, 包及模块的综合案例
在这里插入图片描述

4. 文章的总结与预告

4.1 本文总结

函数的不同传递方式, 使用更加灵活



作者pingzhuyan 感谢观看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

口袋参谋:淘宝卖家必备的市场调查分析工具!

​在淘宝天猫上开店&#xff0c;首先想到的第一个问题就是——卖什么&#xff1f; 想要解决这个疑问&#xff0c;我们就需要对一些你选的品类做市场调查&#xff0c;根据市场调查分析得出了结论&#xff0c;哪个市场竞争力小&#xff0c;那就卖哪个&#xff01; 卖家做市场调查…

Linux内存管理 (2):memblock 子系统的建立

前一篇&#xff1a;Linux内存管理 (1)&#xff1a;内核镜像映射临时页表的建立 文章目录 1. 前言2. 分析背景3. memblock 简介3.1 memblock 数据结构3.2 memblock 接口 4. memblock 的构建过程 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者…

【动态规划】121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II

提示&#xff1a;努力生活&#xff0c;开心、快乐的一天 文章目录 121. 买卖股票的最佳时机&#x1f4a1;解题思路&#x1f914;遇到的问题&#x1f4bb;代码实现&#x1f3af;题目总结 122. 买卖股票的最佳时机 II&#x1f4a1;解题思路&#x1f914;遇到的问题&#x1f4bb;代…

DC电源模块工作效率的特点

BOSHIDA DC电源模块工作效率的特点 DC电源模块是一种常见的电源供应装置&#xff0c;它在广泛应用于各种电子设备中。它是一种直流电源&#xff0c;通常用于提供低压、高电流的电源&#xff0c;如电子器件、LED灯、无线路由器、计算机硬件等。DC电源模块的工作效率是其中一个非…

关于如何进行ChatGPT模型微调的新手指南

微调是指在预训练的模型基础上&#xff0c;通过进一步的训练来调整模型以适应特定任务或领域。预训练的模型在大规模的文本数据上进行了广泛的学习&#xff0c;从中获得了一定的知识和语言理解能力。然而&#xff0c;由于预训练并不针对具体任务&#xff0c;因此需要微调来使模…

启山智软/微信小程序商城

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 启山智软一、微信小程序商城二、微信小程序商城的定义微信小程序商城特点总结 启山智软 想要了解代码规范&#xff0c;学习商城解决方案&#xff0c;点击下方官网链…

11.1.0- iDesktopX新特性之统计面内对象数

作者&#xff1a;Mei 文章目录 一、属性更新二、面内统计对象数 当我们在做数据处理时&#xff0c;可能会遇到需要统计面内包含其他对象数的需求&#xff0c;在以往的iDesktopX 11i版本中&#xff0c;一般是用属性更新功能。今年发布的iDesktopX 11.1.0版本&#xff0c;有一个新…

创新学习方式,电大搜题助您迈向成功之路

近年来&#xff0c;随着信息技术的发展&#xff0c;互联网在教育领域发挥的作用越来越显著。贵州开放大学作为国内首家电视大学&#xff0c;一直致力于创新教学模式&#xff0c;帮助学生更好地获取知识。在学习过程中&#xff0c;学生常常遇到疑难问题&#xff0c;而解决这些问…

Python作业【简单算法题】

总结&#xff1a; 这次题目当中考点是基础知识&#xff0c;还有一些简单的算法&#xff0c;比如说动态规划&#xff0c;插入排序这些&#xff0c;以及切片的知识 筛选法&#xff1a; 这里说一下我对他的理解&#xff0c;之前一直不能理解为什么开个根号就可以减少算法的复杂…

【数据结构复习之路】栈和队列(本站最全最详细讲解) 严蔚敏版

复习完上面一章【线性表】&#xff0c;我们接着复习栈和队列&#xff0c;这篇文章我写的非常详细且通俗易懂&#xff0c;看完保证会带给你不一样的收获。如果对你有帮助&#xff0c;看在我这么辛苦整理的份上&#xff0c;三连一下啦ε٩(๑> ₃ <)۶з 目录: ☆ 栈 &am…

SpringBoot篇之集成Jedis、Lettuce、Redisson

目录 前言一、详解Jedis、Lettuce 和 Redisson的区别二、SpringBoot集成2.1 集成Jedis2.2 集成Lettuce2.3 集成Redisson 总结 前言 大家好&#xff0c;我是AK&#xff0c;最近在做新项目&#xff0c;基于旧项目框架修改&#xff0c;正好最近也在整理springboot相关知识&#x…

C语言系统化精讲(四): 条件判断语句

文章目录 一、if语句二、if…else语句三、else if语句四、if语句的嵌套五、条件运算符六、switch语句的基本形式七、多路开关模式的switch语句八、if…else语句和switch语句的区别 当我们是儿童时&#xff0c;父母就告诉我们记住这句 红灯停&#xff0c;绿灯行&#xff0c;黄灯…

JTS:11 Overlaps 部分重叠

这里写目录标题 版本代码1 多点与多点2 线与线3 面与面 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 /*** 部分重叠*/ public class GeometryOverlaps {private final GeometryFactory geometryFactory new GeometryFactory();private static final Logg…

提升自动化测试效率的秘密武器——Allure Report

一.使用 Allure2 运行方式-Python # --alluredir 参数生成测试报告。 # 在测试执行期间收集结果 pytest [测试用例/模块/包] --alluredir./result/ (—alluredir这个选项 用于指定存储测试结果的路径)# 生成在线的测试报告 allure serve ./result二.使用 Allure2 运行方式-Ja…

TCP/IP(十四)流量控制

一 流量控制 说明&#xff1a; 本文只是原理铺垫,没有用tcpdumpwiresahrk鲜活的案例讲解,后续补充 ① 基本概念 流量控制: TCP 通过接受方实际能接收的数据量来控制发送方的窗口大小 ② 正常传输过程 背景:1、客户端是接收方,服务端是发送方 --> 下载2、假设接收窗…

Vue绑定样式

一、绑定class样式 语法格式&#xff1a; :class "属性名" &#xff08;一&#xff09;字符串写法 该写法适用于样式的类名不确定&#xff0c;需要动态指定的场景 我们用如下的CSS样式进行操作演示 我们要完成点击按钮改变CSS样式的操作&#xff0c;如下图代码所…

33.高等数学

一、函数与极限。 &#xff08;1&#xff09;函数。 1.平方根&#xff1a;有正负号。 2.算术平方根&#xff1a;算术平方根都是正数。 3.复数&#xff1a;是由实部和虚部组成的数&#xff0c;可以表示为abi 的形式&#xff0c;其中 a 是实部&#xff0c;b 是虚部。如果虚部…

检验科LIS系统源码,多家二甲医院实际使用,三年持续优化和运维,系统稳定可靠

检验科LIS系统源码&#xff0c;Client/Server架构SaaS服务模式的LIS系统全套源码&#xff0c;自主版权&#xff0c;有演示。 LIS系统&#xff0c;专为医院检验科设计的一套实验室信息系统。它是以数据库为核心&#xff0c;将实验仪器与电脑连接成网&#xff0c;基础功能包括病人…

C# 中大小端Endian

大小端可以找下资料很多&#xff0c;都是文字的。我每次遇到大小端问题就会搜资料&#xff0c;总是记不住。我自己用用图片记录一下&#xff0c;以备直观的从内存中看到。 在C#中可以用BitConverter.IsLittleEndian来查询。 几个数字在内存中 我们来观察一下&#xff0c;我的…

小程序中如何设置所服务地区的时区

在全球化的背景下&#xff0c;小程序除了在中国使用外&#xff0c;还为海外的华人地区提供服务。例如我们采云小程序为泰国、阿根廷、缅甸等国家的商家就提供过微信小程序。这些商家开通小程序&#xff0c;为本地的华人提供服务。但通常小程序的开发者/服务商位于中国&#xff…