Python函数
函数
注:函数如果定义在类(class)里面,则称其为方法,函数和方法本质上是一样的,不过他们的调用方式不同。
定义和调用
def add(x, y): # 先定义
ans = x + y
return ans # 返回ans
add(4, 5) #后调用
注:定义函数时的“x和y”为形式参数,调用函数时的“4和5”为实际参数,当调用函数时,将实际参数“4和5”传递给形式参数“x和y”。
None类型
def say_hello(): # 定义一个无返回值的函数
print("Hello!")
result = say_hello() # 使用变量接收say_hello函数的返回值
print(type(result)) # 查看result(即接收的say_hello函数的返回值)数据类型
注:定义的函数表面上没有返回值,实际上有返回值,返回值类型为“None”。
应用场景:1) 函数返回值;2) “if”判断中,等同于“False”;3) 定义无内容的变量。
解释文档
def add(x, y): # 先定义
"""
两数相加
:param x: 用于接收实际参数4
:param y: 用于接收实际参数5
:return: 返回相加的结果
"""
ans = x + y
return ans
add(4, 5) #后调用
注:以多行注释的方式,对函数进行说明。鼠标悬停至主调函数,可查看被调函数的说明文档。
作用域
-
定义:变量或者函数的作用范围。
-
局部变量:函数内定义,函数内生效,函数调用完后释放。
注:形式参数为局部变量。 -
全局变量:函数外部定义,作用于全局。
-
global关键字:可在函数内声明全局变量,使全局变量可在函数内修改。
作用域示范代码
num = 100 # 定义全局变量num def testA(): num = 150 # 函数内修改num的值,不影响局外 print(num) print(num) # 函数外输出num为100 testA() # 函数内输出num为150 # global关键字 def testB(): # global关键字声明变量num,使变量num局内修改可以影响局外 global num num = 200 print(num) testB() print(num) # 函数外查看num的值
注:global关键字声明变量前需要先定义该全局变量。
定义与声明的区别:定义可理解为创建,秉承“先定义后调用”的原则;而对于定义在调用后的情况,需要声明来检查该变量或者函数的合法性(此为C和C++内声明的作用,Python中必须先定义再调用),或者对特殊变量或函数进行说明时(如该文中的global关键字声明变量num),也需要对该变量或者函数进行声明。
执行顺序图如下:
注:源程序顺序执行,调用函数时,将实际参数传递给被调函数的形式参数,并执行被调函数,被调函数执行完将返回值返回给主调函数,并顺序执行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端