目录
1、函数目的
函数又叫方法,能减少重复代码的编写,提升代码的复用。函数封装了一定的功能,方便不断使用,可以达到简化代码、重复调用的效果,比如系统print函数就封装了打印函数。
2、函数定义
结构:
def 函数名(形式参数):
执行的代码块
函数名(实际参数) #用来调用函数,使函数运行起来
示例:
def up(num):
for i in range(num):
print('好好学习~天天向上!')
up(5) # 函数的调用
# 好好学习~天天向上!
# 好好学习~天天向上!
# 好好学习~天天向上!
# 好好学习~天天向上!
# 好好学习~天天向上!
3、函数声明
-
def 关键字: 函数定义以
def
关键字开头,后面跟着函数名,函数名命名规则与变量名相同。 -
函数名: 函数名是标识符,用来唯一标识函数。
-
参数(可选): 函数可以有参数,多个参数之间用逗号
,
分隔,参数是传递给函数的值。 -
冒号: 函数定义的第一行以冒号
:
结束,表示函数体的开始。 -
文档字符串(可选): 函数体的第一个语句可以是一个文档字符串(docstring),用来描述函数的作用、参数、返回值等信息。
-
函数体: 函数体包含函数的具体实现,是处理逻辑的部分。
-
返回语句(可选): 函数可以使用
return
关键字返回一个值给调用方。如果没有return
语句,函数将隐式返回None
。
4、函数调用
执行一个函数方法
结构:函数名(实参)
示例:
# 封装一个函数 判定一个数字是否是质数
def is_prime(value):
"""
判定value是否是质数
:param value: 需要判定的数字
:return: 如果是质数返回True 否则返回False
"""
for i in range(2, value):
if value % i == 0:
return False
return True
print(is_prime(13)) # 函数的调用
# True
5、函数形参
全称函数形式参数,在函数定义时出现在()中的变量,形参是一个变量,需要使用实参赋值。
6、函数实参
全称函数实际参数,在函数调用时出现在()中的数值。
7、函数返回值
- 如果没有写return,则返回None
- return可以返回多个数据,会将多个数据放入元组返回
- return代表函数执行结束,后续代码不再执行
8、函数的参数类型
def my_fun(n, *args, info="hello", msg="别打了", **kwargs):
"""
参数类型展示
:param n: 位置参数 按位置赋值
:param args: 可变元组参数 接受除了第一个以为所有的位置实参
:param info: 关键字参数 默认参数
:param msg: 关键字参数 默认参数
:param kwargs: 可变字典参数 接受除了形参中出现的关键字参数以外所有以关键字形式赋值的实参
:return:
"""
print(n)
print(args, type(args))
print(info)
print(msg)
print(kwargs, type(kwargs))
my_fun(101, 10, 20, more1="aaa", more2="bbb", msg="大威天龙", info="0o0")
9、匿名函数
匿名函数指的是一种通过 lambda 关键字创建的简单函数,也称为 lambda 函数。与普通函数不同,匿名函数不需要使用 def 声明,也不需要像普通函数一样有函数名
实例说明:
add_numbers = lambda a, b: a + b
result = add_numbers(3, 5)
print(result) # 输出 8
lambda a, b: a + b
定义了一个匿名函数,接受两个参数a
和b
,返回它们的和a + b
。add_numbers
是这个匿名函数的名称(虽然叫做匿名函数,但实际上是通过 lambda 定义的函数对象)。result = add_numbers(3, 5)
调用了这个匿名函数,将3
和5
作为参数传递给它,得到结果8
,并将其赋给result
。print(result)
输出了8
。