函数与模块
一、什么是函数
函数对程序逻辑进行结构化或过程的一种编写方式,写函数的目的是为了代码重用。
def函数名([形参]): #定义函数
‘“注释”’
函数体
函数名([实参]): #执行函数
二、函数的优点
1、减少代码重复
2、保持代码的一致性
3、方便修改,可扩展性
三、返回值 return
1、return表示把程序流程从被调函数转向主调函数并把表达式值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
2、函数的返回值也是函数
3、程序一旦执行到return就会结束当前函数,函数中没有return时,默认返回值是None。
def add(a,b):
return a+b #返回a+b的值
c = add(1,2) #c=3
四、参数
形参:在函数定义的时候括号里面的参数
def funct(number,add_number):
pass
#number和add_number 就是形参
实参:在函数调用的时候括号里面的参数
def funct(number,add_number):
pass
if _name_=='_main_':
funct(5,3) #5与3就是实参
1、默认值参数
def函数名(参数1=数据1,参数2=数据2):
2、位置参数(必须在关键字参数后面)
实参的值由形参定义顺序传递
def funct(number,add_number):
print number,add_number
>>>funct(1,2)
>>>1,2
#在调用函数时可以直接使用命名参数来给形参赋值
>>>funct(add_number=1,number=2)
>>>1,2
3、命名参数
def funct(number=5,add_number=6)
print number,add_number
>>>funct()#调用函数而不输入参数的时候number的默认值就是5,add_number就是6
>>>5,6
#命名参数不用考虑参数的位置顺序
4、关键字参数
函数名(参数1=数据1)
def func(a,b=5,c=10):
print('a is',a, 'and b is', b, 'and c is',c)
func(3,7)
func(25,c=24)
func(c=50,a=100)
5、可变长参数
*args星号操作符之后的形参将作为元组传递给函数,元组保存了所有传递
**kwargs用于接收0个或者任意个的关键字参数,这里的关键字就是参数名
4、参数顺序
位置参数 fun(a)
默认值参数 fun(a,b=1)
可变长参数 fun(a,b=1,*c,**d)
在可变参数中,非关键字参数要在关键字参数前面