python的函数
语法
def 函数名():
# 函数体(写到函数里面的功能代码)
作用
函数可以用来封装独立的功能代码,通过封装可以提高代码的重用率,提高开发效率
函数在定义之后不会直接执行,通过函数名()进行调用执行
函数名推荐下划线命名法,尽量做到见名知意
函数的参数
定义
在函数名后面的括号中可以定义参数
定义在函数括号后面的参数,需要在调用函数的时候传递进行
参数
函数的参数可以传任意类型
形参:定义的参数
实参:调用时传递的参数
def print_func(n):
"""打印三角形的函数"""
for i in range(n):
for j in range(i + 1):
print("* ", end='')
print()
print_func(3)
print_func(4)
print_func(5)
1、位置参数:位置传参
例:add(101, 22)
2、关键字参数:指定参数名传参
例:add(m=101, n=22)
注意点:两种传参方式混合使用的时候,位置参数在前,关键字参数在后
形式
1、必备参数(必需参数):定义了必须要传,不能多不能少
2、默认参数(缺省参数):调研的时候可以传,也可以不传,不传就使用默认值
3、不定长参数(可变参数):调用的时候可以传0个或者多个值
*args: 只能使用位置传参的形式传值,接收到的参数以元组的形式保存
**kwargs: 只能使用关键字参数的形式传值,接收到的参数以字典的形式保存
注意点:必需参数要写前面,默认参数写后面
拆包
*可以对列表或者元组进行拆包,把元素当成位置参数传递
** 可以对字典进行拆包处理,把元素当成关键字参数传递
def func(a, b, c=99):
print(a)
print(b)
print(c)
li = [11, 22, 33]
func(*li)
dic = {"a": 111, "b": 222, "c": 333}
func(**dic)
返回值 return
函数中没有return,返回值数目=0:返回None
返回值数目=1:返回object
返回值数目>1:返回tuple
注意点:当函数执行到return之后,就会结束函数的运行
def add(a, b):
c = a + b
d = a - b
return c, d
print("hello python")
print("hello python2")
res = add(11, 22)
print("add调用之后返回的结果:", res)
全局变量
直接定义在python文件(模块)中的变量叫做全局变量
全局变量的有效范围(作用域),整个文件内容任何地方都可以使用
name = "musen"
def add(a, b):
c = a + b
print("函数add中打印name变量:", name)
return c
res = add(11, 22)
print(name)
局部变量
在函数内部定义的变量叫做局部变量
局部变量的有效范围(作用域),仅限于改函数内部使用
注意点:函数内部定义局部变量时,尽量不要和全局变量同名
通过global声明下,就能访问到了
number = 100
def func():
global number
print(number) # 全局变量
return 'musen'
name = 'musen' # 局部变量
func()
print(name)

浙公网安备 33010602011771号