文章目录
前言
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。
一、定义函数
python
'''
def 函数名():
函数封装的代码
'''
def demo():
print("函数")
demo() # 函数
二、函数参数
python
'''
求和:a+b
'''
def a_sum_b(a, b):
a_b = a + b
print(a_b)
a_sum_b(a=1, b=2) # 3
三、参数类型
python
# 位置实参 ,按照参数顺序,给形参传递数据
def func(a, b):
sum1 = a + b
print(sum1)
func(1, 2)
# 关键字实参 ,指定任何对应的形参,称为关键字实参
def func(a, b):
sum1 = a + b
print(sum1)
func(b=1, a=4)
# 默认形参,形参设定默认值,称为默认形参 ,调用函数时,如果没有传入默认参数对应的实参,则使用默认值。
def func(a, b=10):
sum1 = a + b
print(sum1)
func(1, 2) # 3
func(1) # 11
# 可变形参
'''
元组型可变形参:用于接收任意数量的位置实参
可变形参的前边需要添加*,用于提示python解释器该参数为可变形参
本质是将传递的参数包装成了元组
使用可变形参直接用即可(不需要加*)args
'''
def func(*args):
'''
求和
'''
result = 0
for num in args:
result += num
print(result)
func(1, 2, 3)
'''
字典型可变形参:可以接收任意数量的关键字实参
定义参数时需要在形参名前添加**
可变形参会将 关键字参数包装成字典
'''
def func(name, **kwargs): # 已经存在的形参, 其对应的关键字实参 不会被包装到字典中。字典型可变形参必须在形参列表的最后边
print(name) # 张三
print(kwargs) # {'age': '18'}
func(name="张三", age="18")
四、函数返回值
python
'''
求和:a+b
'''
def a_sum_b(a, b):
a_b = a + b
return a_b
a_b = a_sum_b(a=1, b=2)
print(a_b) # 3
五、函数类型
1、无参数,无返回值
python
def demo():
print("函数")
2、无参数,有返回值
python
def demo():
return "函数"
3、有参数,无返回值
python
def demo(s):
print(s)
s = "函数"
demo(s) # 函数
4、有参数,有返回值
python
def demo(a, b):
return a + b
a = "函数"
b = "你好!"
res = demo(a, b)
print(res) # 函数你好!
六、函数的嵌套
函数里面调用另一个函数
python
def demo1():
print("函数")
demo2()
def demo2():
print("你好!")
demo1()
七、全局变量和局部变量
1、局部变量
python
'''
局部变量:
定义:函数内部定义的变量,不同的函数内可以定义相同名字的变量,且互不影响。
特点:
局部变量的作用域只再函数内部
目的:
存储需要临时保存的数据
'''
def func():
a = 10
print(a)
func() # 10
print(a) # 报错: NameError: name 'a' is not defined
2、全局变量
python
'''
全局变量:
定义:函数外边定义的变量叫做全局变量
特点:
全局变量能够在所有的函数中进行访问
'''
a = 10 # 全局变量
def func():
print(a)
func() # 10
print(a) # 10
'''
函数内如何修改全局变量,需要用到 global
'''
a = 10
def func():
global a
a = 9
print(a)
func() # 9
print(a) # 9