python学习笔记------函数进阶

news2025/1/11 23:02:42

函数多返回值

函数返回多个返回值格式

def 函数名():

       return 1,2,......,n

x,x1,......xn=函数名()

按顺序接受

函数的多种传参方式

位置参数:调用函数时根据函数定义的参数位置来传递参数

传递的参数和定义的参数的顺序及个数必须一致

关键字参数:函数调用时通过"键=值"形式传递参数

作用:可以让函数更加清晰、容易使用,同时也清除了参数顺序需求

调用时,有位置参数时,位置参数必须在关键字参数前,但关键字参数不存在先后顺序

缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可以部传递该默认参数的值(所有位置参数必须出现在默认参数前,包括函数定义和调用)

不定长参数:也叫可变参数,用于不确定调用时会传递多少参数的场景

不定长参数类型:位置传递,关键字传递

传递的所有参数都会被args变量收集,他会根据传参的位置合并为一个元组,args是元组类型,这就是位置传递

参数是“键=值”的形式,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典

#函数返回多个返回值格式
#def 函数名():
    #return 1,2,......,n
#x,x1,......xn=函数名()
#按顺序接受
def test():
    return 1,2
x,y=test()
print(x,y)
#位置参数:调用函数时根据函数定义的参数位置来传递参数
#传递的参数和定义的参数的顺序及个数必须一致
def test01(name,age,gender):
    print(f"名字是{name},年龄是{age},性别{gender}")
test01("张三",15,"男")
#关键字参数:函数调用时通过"键=值"形式传递参数
#作用:可以让函数更加清晰、容易使用,同时也清除了参数顺序需求
#调用时,有位置参数时,位置参数必须在关键字参数前,但关键字参数不存在先后顺序
test01(name="李四",age=18,gender="男")
test01("王五",age=19,gender="男")
#缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可以部传递该默认参数的值(所有位置参数必须出现在默认参数前,包括函数定义和调用)
def test02(name,age,gender="男"):
    print(f"名字是{name},年龄是{age},性别{gender}")
test02("赵六",10)
test02("赵六",18,"女")
#不定长参数:也叫可变参数,用于不确定调用时会传递多少参数的场景
#不定长参数类型:位置传递,关键字传递
#传递的所有参数都会被args变量收集,他会根据传参的位置合并为一个元组,args是元组类型,这就是位置传递
def test03(*args):
    print(args)
    arr=args
test03("李四",18,"男")
#参数是“键=值”的形式,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典
def test04(**kwargs):
    print(kwargs)
test04(name="lily",age=19,gender="女")

 

函数作为参数传递

是一种计算逻辑的传递,而非数据的传递

任何逻辑都能自行定义并作为函数传入

def compute(x,y):
    return x+y
def test01(compute):
    result=compute(2,4)
    print(result)
#调用
test01(compute)#6

lambda匿名函数

def关键字,可以定义带有名称的函数

lambda关键字,可以定义匿名函数(无名称)

有名称的函数,可以基于名称重复使用

无名称的匿名函数,只可以临时使用一次

定义语法:

lambda 传入参数:函数体(一行代码)

只能写一行,只能使用一次

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

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

相关文章

简介:项目管理九大知识五大过程

前言 项目管理(Project Management,PM/Management by Projects,MBP) 在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调…

WPF监控平台(科技大屏)[一]

跟着B站的视频敲了一个略微复杂的WPF界面,链接如下.在这里我详细的写一份博客进行设计总结. 系统介绍和配置及主窗口设计_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Wy421Y7QD?p1&vd_source4796b18a2e4c1ec8a310391a5644b6da 成果展示 实现过程 总体来说,我的…

打破数据孤岛,TDengine 与 Tapdata 实现兼容性互认证

当前,传统行业正面临着数字化升级的紧迫需求,但海量时序数据的处理以及数据孤岛问题却日益突出。越来越多的传统企业选择引入时序数据库(Time Series Database,TSDB)升级数据架构,同时,为了克服…

redis题库详解

1 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。 Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,…

《LeetCode热题100》笔记题解思路技巧优化_Part_4

《LeetCode热题100》笔记&题解&思路&技巧&优化_Part_4 😍😍😍 相知🙌🙌🙌 相识😢😢😢 开始刷题二叉树🟢1. 二叉树的中序遍历🟢2.…

如何在idea中配置tomcat服务器,然后部署一个项目

文章目录 前言第一步 先新建一个空项目第二步 添加框架支持第三步 添加配置及如何部署最后一步 运行及检查有没有问题总结 前言 本章学习的是在idea中配置tomcat服务器,然后部署一个项目 如果没有下载Tomcat服务器的可以在上一个博客观看下载及手动部署,…

纯 CSS 实现文字换行环绕效果

实现效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><…

SwiftUI的Alert使用方式

SwiftUI的Alert使用方式 记录一下SwiftUI的Alert使用方式&#xff0c;比较简单直接上代码 import SwiftUIstruct AlertBootCamp: View {State var showAlert falsevar body: some View {Button {showAlert.toggle()} label: {Text("alert show")}/// 单按钮 // …

Acwing-基础算法课笔记之动态规划(计数类DP)

Acwing-基础算法课笔记之动态规划&#xff08;计数类DP&#xff09; 一、整数划分1、定义2、完全背包的做法代码示例&#xff08;1&#xff09;过程模拟&#xff08;2&#xff09;代码示例 3、计数类DP的做法&#xff08;1&#xff09;过程模拟&#xff08;2&#xff09;闫氏DP…

文件包含漏洞(input、filter、zip)

一、PHP://INPUT php://input可以访问请求的原始数据的只读流&#xff0c;将post请求的数据当作php代码执行。当传入的参数作为文件名打开时&#xff0c;可以将参数设为php://input,同时post想设置的文件内容&#xff0c;php执行时会将post内容当作文件内容。从而导致任意代码…

Gogs 创建新的仓库并提交代码

Gogs 创建新的仓库并提交代码 1. 登录2. 仓库 -> 我的仓库3. 创建新的仓库4. 仓库5. Copy6. 公开代码​7. 提交成功 Gogs - gitReferences Gogs 是一款极易搭建的自助 Git 服务。 1. 登录 2. 仓库 -> 我的仓库 3. 创建新的仓库 4. 仓库 5. Copy 6. 公开代码 strongfo…

【MySQL】表的约束(2)

【MySQL】表的约束&#xff08;2&#xff09; 目录 【MySQL】表的约束&#xff08;2&#xff09;自增长唯一键外键综合案例-阅读 作者&#xff1a;爱写代码的刚子 时间&#xff1a;2024.3.13 前言&#xff1a;本篇博客主要是介绍表的约束下部分内容(自增长&#xff0c;唯一键&a…

计算机考研|怎么备考「科软」?

学好408和考研数学就可以了 大家对于科软已经回到了理性的区间&#xff0c;很难再出现刚开始的300分上科软的现象&#xff0c;也不会再出现388分炸穿地心的现象。 如果大家想报考科软&#xff0c;我觉得一定要认真对待复习&#xff0c;不要抱有抄底的心态去复习。 众所周知&am…

QtCreate cmake 和qmake 使用调用动态库流程

链接&#xff1a; QtCreate cmake 和qmake 使用调用静态库流程-CSDN博客 重点&#xff1a; 1.流程和静态库一样。 2.只是在include下放置所需的dll。 3.cmakelist.txt中的文件路径并未变化。

Selenium抓取youtube视频推荐

Youtube作为一个全球最大的视频资源平台&#xff0c;对于视频资源有很好的规整处理。所以当我们想要抓取一些视频资源时&#xff0c;它本身提供的API能力不符合时&#xff0c;我们需要使用Selenium去抓取视频。 以下是根据一条视频链接去抓取推荐列表的功能&#xff1a; asyn…

不锈钢多功能电工剥线钳分线绕线剪线剥线钳剥线压线扒皮钳子

品牌&#xff1a;银隆 型号&#xff1a;089B绿色 材质&#xff1a;镍铬钢&#xff08;不锈钢&#xff09; 颜色分类&#xff1a;089B灰色,089B红色,089B绿色,089B黑色,089B橙色 功能齐集一身&#xff0c;一钳多用&#xff0c;多功能剥线钳。剥线&#xff0c;剪线&#xff…

前端三件套 | 综合练习:模拟抽奖活动,实现一个简单的随机抽取并显示三名获胜者

随机运行结果如下&#xff1a; 参考代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…

分数相加减(C语言)

一、流程图&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int fenmu 2;int result 1;int fuhao 1;//执行循环&#xff1b;while (fenmu < 100){//运算&#xff1b;fuhao (-1…

深度学习1650ti在win10安装pytorch复盘

深度学习1650ti在win10安装pytorch复盘 前言1. 安装anaconda2. 检查更新显卡驱动3. 根据pytorch选择CUDA版本4. 安装CUDA5. 安装cuDNN6. conda安装pytorch结语 前言 建议有条件的&#xff0c;可以在安装过程中&#xff0c;开启梯子。例如cuDNN安装时登录 or 注册&#xff0c;会…

Redis应用与原理(一)

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 缓存发展史 缓存经典场景 在没有引入缓存前&#xff0c;为了应对大量流量&#xff0c;一般采用&#xff1a; LVS 代理Nginx 做负载均衡搭建 Tomcat 集群 这种方式下&#xff0c;随着访问量的增大&#xf…