【笔记】Python3的函数

前言

Python3的函数学习笔记

函数的功能

  • 将一段具有独立功能的代码块整合到一个整体并命名,在需要的时候通过调用函数名来实现执行代码块的操作

定义一个函数

1
2
3
4
5
6
7
8
def 函数名():
...

def 函数名(参数):
...

def 函数名(参数1, 参数2, ...):
...

函数的参数

位置参数

  • 调用函数时,根据函数定义的参数位置来传递参数
  • 如果调用时传递的参数和定义时的参数个数不一样,会报错
1
2
3
def test(name, age, gender):
print(name, age, gender)
test("张三", 18, "男")

关键字参数

  • 调用函数时,以键=值的形式传递参数
1
2
3
def test(name, age, gender):
print(name, age, gender)
test(name="张三", age=18, gender="男")

缺省参数

  • 定义函数时,在形参设置默认值
1
2
3
def test(name, age, gender="男"):
print(name, age, gender)
test(name="张三", age=18)

不定长参数

  • 不定长参数又叫可变参数
  • 用于不确定调用时候传递多少参数的场景

包裹位置传递

  • 接收不定长的位置参数
  • 参数名通常写作args
  • 得到的参数是一个元祖数据
1
2
3
def test(*args):
print(args)
test("张三", 18, "男")

包裹关键字传递

  • 接收不定长关键字参数
  • 参数名通常写作kwargs
  • 得到的参数是一个字典数据
1
2
3
def test(**kwargs):
print(kwargs)
test(name="张三", age=18, gender="男")

调用函数

1
2
3
4
5
函数名()

函数名(参数)

函数名(参数1, 参数2, ...)

函数的返回值

  • return后面的代码不执行
1
2
3
4
def 函数名():
return 返回值

变量 = 函数名()

多个返回值

  • 返回的是一个元祖
1
2
def 函数名():
return 返回值1, 返回值2, ...

函数的说明文档

定义说明文档

  • 只有在函数体内的第一行使用多行注释,才可以创建说明文档
1
2
def 函数名():
""" 说明文档 """

查看说明文档

1
help(函数名)

高级使用

:param 参数::对指定参数的描述
:return::对返回值的描述

1
2
3
4
5
def 函数名(参数):
"""
:param 参数: 参数的描述
:return: 返回值的描述
"""

函数的嵌套

1
2
3
4
5
6
7
8
def 函数1():
print("函数1开始")
print("函数1结束")

def 函数2():
print("函数2开始")
函数1()
print("函数2结束")

变量的作用域

  • 局部变量:函数内部的变量只在函数体内部调用
  • 全局变量:在函数体外部的变量可以在任意函数内部调用
  • 如果同时有局部变量和全局变量且变量名相同,则此时调用的是局部变量
1
2
3
4
a = 100

def test():
a = 200

函数体内部使用全局变量

  • global关键字声明全局变量
1
2
3
4
5
6
a = 100

def test():
global a
a = 200
print(a)

完成

参考文献

哔哩哔哩——Python-清风