模块化编程
模块化编程就是把编程进行封装(函数封装,面向对象,文件…)
- 函数function
# 定义函数
def function_name([参数列表]):
实现逻辑
# 函数需要进行调用才能执行
# 命名规则:不能以数字开头
function_name()
- 函数的参数
形参
实参
# 定义一个带有参数的函数
def function_name(Parameter):
print(f'hello, {Parameter}!')
# 执行函数
function_name('world')
# 返回结果
hello, world!
# 形参:Parameter,实参:world
# 定义带有多个参数的函数
def function_name(p1,p2):
print(f'hello, {p1}!I am {p2}')
# 执行函数
function_name('world','Truman')
# 返回结果
hello, world!I am Truman.
函数中的参数类型
- 普通参数
位置参数,顺序参数,是必须传递的参数
# 必须传递3个参数,至少传递2个参数,第三个参数为默认值
# 默认参数在普通参数后面定义
def func(x,y,i=100):
print(x,y,i)
# 调用函数
func(1,2)
# 返回结果
1 2 100
# 调用函数
func(1,2,3)
# 返回结果
1 2 3
- 收集参数
def func1(x,y,z=100)
print(x+y+z)
# *args是收集参数,接收的参数会存储在变量args中,形成一个元组
def func2(x='+',*args):
if x == '+':
print('加法运算',args)
else:
print('减法运算',args)
# 调用函数
func2('-',200,'略略',400)
# 返回结果
减法运算 (200, '略略', 400)
- 命名关键字参数
# 收集参数后面的参数是命名关键字参数
def func(a,b,c=3,*args,name):
print(a,b,c,args)
print(args)
print(name)
# 调用函数
func(1,2,4,4,5,6,7,name = 10)
# 返回结果
1 2 4
(4, 5, 6, 7)
10
# 在调用普通函数时,可以直接给命名关键字参数传递
print(func(a=1,b=2,name = 'name'))
# 返回结果
1 2 3
()
name
None
- 关键字参数收集
def func(a,*args,**kwargs):
print(a)
print(args)
print(kwargs) # 关键字参数收集,是一个字典
# 调用函数
func(1,222,333,name = 'aaa',type = 'ccc',age = '18')
# 返回结果
1
(222, 333)
{'name': 'aaa', 'type': 'ccc', 'age': '18'}
- 形参声明的位置
普通参数、默认参数,收集参数,关键字参数,关键字收集参数
函数返回值
函数中使用return关键字指定返回数据,可以返回任意类型的数据
def func(a,b):
print('a:',a)
print('b:',b)
return a
# 调用函数
func(1,2)
# 返回结果
a: 1
b: 2
def func(a,b):
print('a:',a)
print('b:',b)
return print(a,'-',b)
# 调用函数
func(1,2)
# 返回结果
a: 1
b: 2
1 - 2
# return之后的代码不再执行