当前位置: 首页 > news >正文

Python基础总结(十)之函数

Python函数

函数是Python中也是非常重要的,函数是带名字的代码块,用于完成具体的工作。要执行函数定义的特定任务,可调用该函数。

一、函数的定义

函数的定义要使用def关键字,def后面紧跟函数名,缩进的为函数的代码块。

def test():print("Hello,World")

上述即为一个简单的函数,定义了一个名为test的函数,函数体为 print(“Hello,World”)。要使用该函数,只需调用即可。

def test():print("Hello,World")test()
# Hello,World

二、形参实参

函数中也可以指定参数,进行函数中的调用参数,在函数名后面括号中的成为形参,而在函数调用时传递的参数成为实参。

定义一个两数相加的函数

def add(num1, num2):Sum = num1 + num2print(Sum)add(1, 2)
# 3

上述中的num1,num2为函数的形参,而在调用的add(1, 2)中的1和2为函数的实参,输出结果为Sum。

2.1 位置实参

函数的定义中可能包含多个形参,所以函数的调用中要包含多个实参,而位置实参就是要求传递的实参要与函数定义的形参一一对应,否则可能会出现错误。

def info(name, height):print(f"The {name} height is {height}")info("peter", 180)
# The peter height is 180

上述的参数是形参和实参对应的,如果不对应就可能出现错误。

def info(name, height):print(f"The {name} height is {height}")info(180, "peter")
# The 180 height is peter

可能会出现上述可笑的错误。

2.2 关键字实参

关键字实参不会像位置参数需要一一对应,在函数调用时,就直接形参对应的实参,不会出现错误。

def info(name, height):print(f"The {name} height is {height}")info(name="peter", height=180)
# The peter height is 180

在上述的实参中,指定了函数中的形参对应的实参,所以实参不是与形参一一对应,也不会出现错误。

def info(name, height):print(f"The {name} height is {height}")info(height=180, name="peter")
# The peter height is 180

2.3 默认值

在函数中可以形参指定默认值,当调用函数且没有给对应的形参传递参数时,函数会以默认的参数输出,当实参指定时,则会以指定的实参进行输出。

def info(name, height, sorce=70):print(f"The {name} height is {height}, and sorce is {sorce}")info(height=180, name="peter", sorce=80)
# The peter height is 180, and sorce is 80

当不指定参数时,对应的参数则以形参中指定的参数输出

def info(name, height, sorce=70):print(f"The {name} height is {height}, and sorce is {sorce}")info(height=180, name="peter")
# The peter height is 180, and sorce is 70

三、返回值

函数并不是只向上面的那样简单的处理,还能返回值,共其他的函数进出处理。函数中返回值的关键字为return,就是将函数的处理结果返回出来,供其使用。

def add(num1, num2):Sum = num1 + num2return Sumresult = add(1, 2)
print(result)
# 3

上述的函数体中并没有使用print打印输出结果,而是将计算的结果传给了Sum,使用关键字return返回Sum,在函数外将函数的结果赋值给result,从而将计算的结果输出。

四、任意数量的实参

在编写函数时,有时候不知道具体有多少实参,这时就可以使用Python中的任意数量的实参来指定,使用 * 号来指定形参就可实现这样的功能。

def info(*infor):print(infor)info("peter", 179, 80)
# ('peter', 179, 80)

上述函数的形参*infor让Python创建了一个名为infor的元组,并且调用函数时的实参全部以元组的形式存入。

五、任意数量的关键字实参

有时候需要接受任意数量的实参,但不知道传递给函数是什么样的信息,这时可将函数编写成能接受任意数量的键值对。使用 ** 号来指定形参就可实现这样的功能。

def info(name, height, **infor):infor["name"] = nameinfor["height"] = heightreturn inforret = info("peter", 179, sorce=80, major="math")
print(ret)
# {'sorce': 80, 'major': 'math', 'name': 'peter', 'height': 179}

上述**infor的形参,Python创建了一个名为infor的键值对字典,调用函数时指定的实参都将以键值对的形式存入infor的字典中。

六、传入列表和字典

函数不止能传入简单的参数,还可以传入列表和字典,可参考链接: 函数传入列表和字典

http://www.xdnf.cn/news/389701.html

相关文章:

  • Go语言安装proto并且使用gRPC服务(2025最新WINDOWS系统)
  • 广东省省考备考(第八天5.11)—言语:片段阅读(每日一练)
  • 数据库备份与策略【全量备份、增量备份、日志恢复】
  • python:trimesh 用于 STL 文件解析和 3D 操作
  • 深入剖析缓存与数据库一致性:Java技术视角下的解决方案与实践
  • 【连载14】基础智能体的进展与挑战综述-多智能体系统设计
  • MySQL 数据库故障排查指南
  • 网络安全设备配置与管理-实验5-p150虚拟防火墙配置
  • 【计算机网络】NAT技术、内网穿透与代理服务器全解析:原理、应用及实践
  • JVM中的安全点是什么,作用又是什么?
  • python 新闻 api + react js 客户端。
  • MinIO自定义权限策略语法深度解析
  • 苍穹外卖-创建阿里云oss工具包
  • Agent杂货铺
  • 大模型知识蒸馏(Qwen2.5系列模型KL散度蒸馏)
  • leetcode热题100——day26
  • 当虚拟照进现实——《GTA6》如何重新定义开放世界的可能性‌
  • Git的核心作用详解
  • pwm控制
  • istio in action之服务网格和istio组件
  • LLM框架
  • Ubuntu 24服务器部署abp vnext应用程序的完整教程
  • 模块自动导入的小工具
  • 使用go开发安卓程序
  • 【漫话机器学习系列】252.零损失(0-1 Loss)
  • 豆包:国内 web 辅助开发的领头羊
  • 79.评论日记
  • Linux防火墙
  • Python模块与包以及工程文件管理
  • 【Python训练营打卡】day22 @浙大疏锦行