函数的定义和调用
一、函数的介绍
函数:可以用对重复使用的功能代码进行封装,提高代码的复用性,提高工作效率,降低代码的耦合性
二、函数的定义
定义函数关键字:def
语法:
def 函数名():
#函数内部代码
三、函数的命名规范
1、函数名只能使用数字、字母、下划线组成
2、函数名不能使用数字开头
3、不能使用python中的关键字(内置函数,官方库,第三方库的名字统统不要用)
4、命名风格:推荐使用下划线命名法
四、函数的调用
函数的调用:函数名()
定义好的函数,不会执行运行,需要调用才会执行函数内部代码
def print_func():
for i in range(1, 10):
for j in range(i):
print("* ", end="")
print()
print_func()
五、内置函数
函数的参数分类及使用
一、函数的参数
1.参数的定义:函数名后面的括号中定义参数
2.参数的传递:
参数传递的两种形式:
位置参数:位置参数(按位置进行传递)
关键字参数:通过关键字指定传给某个参数。
注意:关键参数写在位置参数之后。
定义的参数称为:形参
调用实际的传递的为:实参
二、函数的参数类型
形参:定义的参数称为形参
三种定义形式:
1、必须参数(必备参数):定义了就一定(必须要传),不能多也不能少
def add(a, b):
print(“a:”, a)
print(“b:”, b)
print(a + b)
add(11, 22)
运行结果:a: 11
b: 22
33
2、默认参数(缺省参数):定义的时候可以设置默认值,调用的时候可以传,也可以不传,不传使用默认值
def add(a, b, c=99):
print("a:", a)
print("b:", b)
print("c:", c)
print(a + b)
add(11, 22) # 不传默认值
运行结果:a: 11
b: 22
c: 99
33
def add(a, b, c=99):
print("a:", a)
print("b:", b)
print("c:", c)
print(a + b)
add(11, 22, 121) # 传默认值
运行结果:a: 11
b: 22
c: 121
33
3、不定长参数(动态\可变参数):可以接受0个或者多个参数
*args:只能接收位置参数,以元组的形式保存
def func(*args):
print(args)
func()
func(11)
func("aaa", "abbb", 12345678, 11, 22, 33, 4, 4, 55, 323, 6, 777)
运行结果:()
(11,)
(‘aaa’, ‘abbb’, 12345678, 11, 22, 33, 4, 4, 55, 323, 6, 777)
**kwargs:只能接收关键字传参,以字典的形式保存
def func2(**kwargs):
print(kwargs)
func2(a=11, b=22, c=33)
运行结果:{‘a’: 11, ‘b’: 22, ‘c’: 33}
***args和kwargs共同使用:先写位置参数,再写关键字参数
def func2(*args, **kwargs):
print(args)
print(kwargs)
func2(1111, 2222, 333, 4444, a=11, b=22, c=33)
运行结果:(1111, 2222, 333, 4444)
{‘a’: 11, ‘b’: 22, ‘c’: 33}
实参:调用时实际传递的为实参
两种形式:
1、位置传参(位置参数):按照参数定义的位置进行传递
def add(a, b):
print("a:", a)
print("b:", b)
print(a + b)
add(11, 22)
运行结果:a: 11
b: 22
33
2、关键字传参(关键字参数):通过参数名字,指定传递
def add(a, b):
print("a:", a)
print("b:", b)
print(a + b)
add(b=333, a=111)
运行结果:a: 111
b: 333
444
注意点:如果使用两种形