当前位置: 首页 > 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的字典中。

六、传入列表和字典

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

相关文章:

  • 2025-05-11 Unity 网络基础11——UnityWebRequest 使用
  • 【基于 LangChain 的异步天气查询5】多轮对话天气智能助手
  • MYSQL语句,索引,视图,存储过程,触发器(一)
  • 07.three官方示例+编辑器+AI快速学习webgl_buffergeometry_attributes_integer
  • 【Flask开发踩坑实录】pip 安装报错:“No matching distribution found” 的根本原因及解决方案!
  • Qt 中 QWidget涉及的常用核心属性介绍
  • Qt模块化架构设计教程 -- 轻松上手插件开发
  • 英伟达微调qwen2.5-32B模型,开源推理模型:OpenCodeReasoning-Nemotron-32B
  • DINOv2
  • Nipype使用:从安装配置到sMRI处理
  • C++:流插入、流提取操作符
  • Wordpress头像无法加载太慢问题解决方式
  • Quartus与Modelsim-Altera使用手册
  • 数值运算的误差估计
  • 深入理解深度循环神经网络(Deep RNN)
  • 4.4 os模块
  • 3. 仓颉 CEF 库封装
  • FME处理未知或动态结构教程
  • 微机系统:第二章节:16位的intel8086处理器
  • MLU实现 comfyui+wan2.1 完成图生视频创作
  • 西北大学副校长范代娣成陕西首富?系家庭财富,本人已从上市公司退出
  • 多地警务新媒体整合:关停交警等系统账号,统一信息发布渠道
  • AI观察|从万元到百万元,DeepSeek一体机江湖混战
  • 科创板年内第3家!健信超导IPO获受理,拟募资8.65亿
  • 美国政府信用卡被设1美元限额,10美元采购花一两小时填表
  • 2025年上海好护士揭晓,上海护士五年增近两成达12.31万人