Python函数
Python函数
函数介绍
函数:组织好的、可重复使用的、用来实现特定功能的代码段
好处:
- 将功能封装在函数内,可供随时随地重复利用
- 提高代码的复用性,减少重复代码,提高开发效率
# 需求,统计字符串的长度,不适用函数len()
str1 = "yingxionglianmeng"
str2 = "yuanshen"
str3 = "gta5"
# 定义一个计数的变量
count = 0
for i in str1:
count += 1
print(f"字符串{str1}的长度是:{count}")
count = 0
for i in str2:
count += 1
print(f"字符串{str2}的长度是:{count}")
count = 0
for i in str3:
count += 1
print(f"字符串{str3}的长度是:{count}")
print("使用函数计数...................................")
# 可以使用函数,优化重复的过程
def my_len(data):
count = 0
for x in data:
count += 1
print(f"字符串{data}的长度是:{count}")
my_len(str1)
my_len(str2)
my_len(str3)
函数的定义
语法:
def 函数名(参数):
函数体
return 返回值
使用步骤:先定义函数,后调用函数
注意事项:参数不需要,可以省略。返回值不需要,可以省略
# 定义一个函数
def say_hi():
print("hi 我是崔佛,我要学Python")
# 调用函数,让定义函数开始工作
say_hi()
# 结果
hi 我是崔佛,我要学Python
函数的参数
函数的参数:在函数运行的时候,接受外部传入的数据
注意事项:
- 函数定义中的参数,称之为形式参数
- 函数调用中的参数,称之为实际参数
- 函数的参数数量不限,使用逗号分隔开
- 传入参数的时候,要和形式参数一一对应,逗号隔开
# 定义三个数字想加的函数
def add(x, y, z):
result = x + y + z
print(f"{x} + {y} + {z}的计算结果是:{result}")
# 调用函数
add(5, 6, 7)
# 结果
5 + 6 + 7的计算结果是:18
函数的返回值定义
返回值:函数在执行完成后,返回给调用者的结果;使用关键字:return 来返回结果
注意事项:函数体在遇到return后就结束了,所以写在return后的代码不会执行
# 定义一个函数,完成2数组相加功能
def add(a, b):
result = a + b
# 通过返回值,将想加的结果返回给调用者
return result
print("哈哈哈哈")
# 调用函数传入参数,获取返回值
r = add(5, 6)
print(r)
# 结果
11
函数的返回值None类型
- None:None是类型"NoneType"的字面量,用于表示:空的、无意义的。返回None的两种方式:
- 函数不使用return语句即返回None
- 主动返回 return None
- 使用场景:
- 函数返回值
- if判断
- 变量
# 定义一个函数,无返回值
def say_hi():
print("哈哈哈")
result = say_hi()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")
# 主动返回None类型
def say_hi2():
print("返回None类型")
return None
result = say_hi2()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")
# None用于if判断
def check_age(age):
if age > 18:
return "SUCCESS"
else:
return None
result = check_age(16)
if not result:
# 进入if表示result是None类型也就是False
print("未成年,不可以进入")
# None用于声明无初始内容的变量
name = None
# 结果
哈哈哈
无返回值函数,返回的内容是:None
无返回值函数,返回的内容类型是:<class 'NoneType'>
返回None类型
无返回值函数,返回的内容是:None
无返回值函数,返回的内容类型是:<class 'NoneType'>
未成年,不可以进入
函数的说明文档
对函数进行说明解释,帮助更好理解函数的功能
- :param 用于解释参数
- :return 用于解释返回值
# 定义函数,进行文档说明
def add(x, y):
"""
add函数可以接收2个参数,进行2数想加的功能
:param x: 形参x表示相加的其中一个数字
:param y: 形参y表示相加的其中一个数字
:return: 2数相加的结果
"""
result = x + y
print(f"2数相加的结果是:{result}")
return result
add(5, 6)
调用函数时,鼠标悬停在方法上可直接看到注释信息
函数的嵌套调用
函数的调用:在一个函数中,调用另外一个函数
# 定义函数func_a
def func_a():
print("func_a...")
# 定义函数func_b
def func_b():
print("func_b...start")
# 调用函数func_a
func_a()
print("func_b...end")
# 调用函数
func_b()
# 结果
func_b...start
func_a...
func_b...end
函数中变量的作用域
局部变量:作用范围在函数内部,在函数外部无法使用
全局变量:在函数内部和外部均可使用
如何将函数内定义的变量声明为全局变量:使用global关键字,global 变量
# 演示局部变量
def test_a():
num = 100
print(num)
test_a()
# 出了函数体,局部变量就无法访问了
# print(num)
# 演示全局变量
num = 200
def test_b():
print(f"test_b:{num}")
def test_c():
global num # 设置内定义的变量为全局变量
num = 500
print(f"test_c:{num}")
test_b()
test_c()
print(num)
## 结果
100
test_b:200
test_c:500
500
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)