''' 1、什么是函数? 函数是一种工具,封装一个可重复调用的代码块 2、为什么要用函数? ①如果不使用函数,代码将变得冗余。 ②可读性差 3、怎么用函数? 定义函数 调用函数 '''
函数分为:有参函数、无参函数、空函数
# 有参函数
def add(x, y):
return x + y
# 无参函数
def welecome():
print('welecome to my home!')
# 空函数
def login():
pass
函数的返回值:
''' 1、不写return,默认返回None 2、只写return,只有结束函数体代码的效果,返回None 3、return None,与只写return的效果一样 4、return 一个值,可以将返回的结果当成一个变量来使用 5、return 多个值: 1、默认返回一个元组 2、可以自己指定返回的数据类型 3、函数的返回值不想被修改 '''
函数的参数:
''' 1、参数的类型: 形参:函数定义时的参数 实参:函数调用时,将实参传递给形参 2、传参的方式: 位置传参:默认以位置一一对应 关键字传参:指定形参 默认参数:当没有传入参数时,函数默认的参数 3、可变长参数: *args:接收所有溢出的位置参数 **kagrs:接收所有的关键字参数 *:放到实参中将可迭代对象打散 '''
函数的定义与命名规范:
''' 函数的命名规范与变量名一样 关键字def 函数名(index) 括号: 函数描述:函数的功能描述 '''
实参与形参:
x = 1 y = 2 a = 3 b = 4 def add(a, b): # a,b为形参 print(a + b) add(x, y) # x,y为实参 >>>output:3
关键字参数:
def register(name,age): print(f'name:{name} age:{age} gender:{gender}') register('yyh',18,) register(age=18,name='yyh') # 位置参数一定一定要在关键字参数之前 register(age=18,'yyh') # 报错 positional argument follows keyword argument
默认参数:
def register(name,age,gender='male'): print(f'name:{name} age:{age} gender:{gender}') register('yyh',18,)
可变长参数:
def add(x,y,*agrs): # *args接收所有溢出参数 sum = x + y for i in agrs: sum += i return sum print(add(1, 2,3,4,5)) >>>ouput:15
def join(name1,name2,**kwargs): print(name1,name2) for key,value in kwargs.items(): print(key,value) join('egon','jason',name3='yyh',name4='sean') >>>output: egon jason name3 yyh name4 sean
def foo(a, b, c, d, e, f): print(a, b, c, d, e, f) def bar(*agrs, **kwargs): foo(*agrs, **kwargs) bar(1,2,3,4,10,20)