news 2026/9/7 22:13:34

Python学习---DAY10函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python学习---DAY10函数

格式

python中的函数的格式为:

def task(): task1 task2 print('task over') #函数结束,非函数语句

使用def关键字来定义函数,函数范围与循环判断类似,同样需要在同一列里来圈定。

与C不同的是,由于代码是直接执行(不用找main函数),所以要使用函数,只需要任意地方调用函数名即可

传参

位置传参

函数传参的基本办法(位置参数)就是在函数里直接使用变量,然后调用函数时将值对应写入即可,例如:

def AtoB(a, b): if a > b: print(a) else: print(b) AtoB(3,4) AtoB(25,6) #打印为:4 25
关键字传参

python中还有其他传参方法,如关键字传参,指定调用函数中实参与函数中形参的对应关系来实现:

def task1(speed, x,y,z): if x<10: speed=speed*10 elif x>10 and y<10: speed=90 elif x>10 and y>10: speed=50 elif z == y + x: speed=0 else : speed=speed return speed print(task1(z=64,x=10,y=20,speed=32)) #打印为:32

关键字与位置参数也可以混用,但用时需要位置在前,关键字在后。

限制传参方式:/前必须用位置参数,*后必须用关键字参数,如:

def task1(speed, x,/,y,*z): if x<10: speed=speed*10 elif x>10 and y<10: speed=90 elif x>10 and y>10: speed=50 elif z == y + x: speed=0 else : speed=speed return speed

此时只能这么调用了:

print(task1(32,10,y=20,z=64))#y无所谓
参数默认值

参数默认值指的是在定义函数时,通过形参=值的方式,为参数指定一个默认值,如:

def task1(speed, x,y,z,m=42): if x<10: speed=speed*10 elif x>10 and y<10: speed=90 elif x>10 and y>10: speed=50 elif z == y + x: speed=0 else : speed=m return speed print(task1(z=64,x=10,y=20,speed=32))#打印42

但如果引用函数时指定了参数值,则参数默认值就会被覆盖:

print(task1(z=64,x=10,y=20,speed=32,m=84))#此时打印84

则此时,我们可以得知print的本质以及其end的原理了

注意:默认参数一定位于其他参数后

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 22:12:53

滑模观测器与事件触发分布式跟踪控制的MATLAB复现全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 22:12:49

AI漫剧制作全流程:从选题到变现的七步标准化指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 22:11:41

Lombok注解失效问题排查与解决方案

1. Lombok注解失效问题解析最近在项目开发中遇到一个典型问题&#xff1a;明明使用了Lombok的Data注解&#xff0c;但编译运行时却报错提示找不到getter/setter方法。这个问题困扰了我两天时间&#xff0c;经过多方排查终于找到根源。下面把我的排查过程和解决方案完整记录下来…

作者头像 李华
网站建设 2026/9/7 22:10:11

整车在环(ViL)测试技术全解析:从系统架构到工程落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 22:09:53

机器学习工程师的知识管理:系统化笔记实践

1. 为什么需要系统化的机器学习笔记作为从业八年的算法工程师&#xff0c;我深刻体会到机器学习知识体系的庞杂性。从最初的监督学习三剑客&#xff08;回归、分类、聚类&#xff09;到如今的Transformer大模型&#xff0c;每个技术分支都有大量需要记忆的数学推导和实现细节。…

作者头像 李华
网站建设 2026/9/7 22:09:25

Python+Django酒店管理系统开发实战与优化

1. 项目概述&#xff1a;Python酒店管理系统的核心价值酒店管理系统作为现代服务业数字化转型的核心工具&#xff0c;其开发语言选择直接影响系统性能和开发效率。Python凭借其简洁语法和丰富生态&#xff0c;成为中小型酒店信息化建设的首选方案。这个用PythonDjango实现的系统…

作者头像 李华