第九节课 函数 讲课老师:风陨老师
2021/04/12
一、函数:完成特定功能的代码集合,且可以作为一个单位使用,可以命名
1、定义函数:
def :定义函数,且要被调用
def demos():
print('奈斯')
demos() #函数调用
2、优势,
(1)、降低编程难度:把一个大的过程分解成N个小过程,在把小过程分解成更小的过程 ,当过程被分解成足够简单的代码时再编写,所有小过程逐一解决,就能解决大过程。
(2)、可以复用,不用重复编写代码,提高效率
(3)、格式
def 函数名(参数)
Pass: 不进行任何操作,但是可以保证格式正确(防止格式报错)
return: 返回值(没有值时默认为空(None))
Pass:
def demo(): 直接运行报错,函数内部有参数
pass 加pass后不会报错,保证格式的正确,在用于命名多个函数时候,保证不会报错
return:返回值:
def demos():
return 12 被返回的值
numbers = demos()
print(numbers) 返回的值为12
3、函数命名规则
(1)、只能是一个词 :如 Use ()
(2)、只能包含数字,字母,下划线set_1()
(3)、不能以数字开头
(4)、不可以使用关键字
(5)、取名尽量要有意义
完整函数
def demo(): #定义函数
a = 1
return a #传值
numbers = dome #接受变量
print(numbers) #打印接受到的数据
1 #1为打印结果
二、函数参数
1、必备参数
def invoke(x):
print(x)
invoke(5) #默认传值
invoke(x=5)#指定传值
def invoke(x, y): 定义必备参数
print(f'接收传入的值{x},{y}')
invoke(5, 10) 默认传参,遵循顺序
invoke(5) 打印报错 必备参数多少个就要传几个值
invoke(y=5, x=10) 指定传参,就不用遵循顺序
2、默认参数
def invoke(x, y=None):
print(f'{
x}, {
y}) 接收传入的值
invoke(5) #默认传值 此时y不传值,默认为空,不会报错,
invoke(5, 10) 当传值后,就会被接收
invoke(y=5, x=10) 同样可以指定传参
3、不定长参数 *args接收非键值对的数据
def invoke(x, y=None,*args):
print(x, y, )
print(args)
invoke(5, 10, {
27}, [18], ('12',)) 结果为 5 10 默认传参
({
27}, [18], ('12',)) 默认不定长传参
4、不定长参数 **kwargs 接收键值对的数据