模块化编程是指程序进行封装(函数封装,面向对象,文件,,)
函数什么是函数
function->函数,功能
函数就是一个具有特定功能的代码块
函数的作用函数就是把代码进行封装,以提高代码的重用性,提高开发效率,并且降低了后期的维护成本。
函数的定义和使用#定义函数[基本结构]
def 函数名([参数列表]):
当前函数的具体功能的代码
当前函数的具体功能的代码
......
#函数封装完并不会执行,只是把函数定义了
#如果想使用定义的函数,那么就需要用语法来进行函数的调用
#函数的调用
#认识函数 #函数的定义格式 def love(): print('i') print('love') #函数的调用 love() #函数的特征和注意事项 ''' 1.函数定义后,部调用不执行 2.不能在函数定义其调用函数 3.函数的调用不受次数影响 4.函数的命名要遵守命名规范 字母数字下划线 不能以数字开头 严格区分大小写 不能使用关键字 命名最好有意义 且不要使用中文 5.函数名不要冲突,冲突后被覆盖 '''函数的参数
- 函数在定义时,可以在参数列表的位置定义形参
- 如果函数有形参,那么在调用时必须传递参数(实参)
- 实参将赋值给形参的过程,其本质上就是变量的赋值操作
#带有参数的函数,如何定义 #在定义函数时,在小括号内可以定义形参(形式上的参数) def love(w): print(f'I love you {w}') # 调用带有形参的函数时,需要传递参数(实参) # love('苏苏') # love() #TypeError: love() missing 1 required positional argument: 'w' #带有多个参数的函数 def love(w,x): print(f'{x} I love you {w}') love('苏苏','苏怡') #定义了几个参数,那么就调用时必须指定按顺序进行参数的传递参数的形式普通参数,默认参数,收集参数 *args
#命名关键字参数 ''' 1. 关键字参数在定义在 收集参数后面 2. 关键字参数必须进行参数的名字来进行传递 ''' def love(a,b,c=3,*args,name): print(a,b,c) print(*args) print(name) # 在调用时,必须按照形参的形式命名 love(1,2,3,4,5,6,7,8,9,name="amdin") # 普通函数 def data(compellation,age,sex): print(compellation) print(age) print(sex) # data ('苏怡','19','girl') # 在调用普通函数时,需要按照顺序进行参数的传递 # 同时也可以将普通函数的普通参数按照关键字进行传递 data(compellation='苏怡',age='19',sex='girl')关键字参数的收集# 关键字参数收集 # kw ==>keyword def reply(a,b,c,*args,line,**kwargs): print(a,b,c) print(args) #普通收集参数,会把多余的参数收集成为 元组 print(line) print(kwargs) # 关键字参数收集,会把多余的关键字参数收集为 字典 reply(1,23,4,5,6,56,4,443,line='abc',aa='aa',bb='bb') # 注意进行形参声明的位置 # 普通参数,默认参数,收集参数,关键字参数,关键字收集参数 ''' 极少情况会出现上面五种形参 一般情况下:普通参数,收集参数,关键字收集参数 '''



