Python基础-函数
小菜UP 2018-05-09 22:58:12
函数
定义:函数是组织好的一组语句的集合,可重复使用的,用来实现单一,或相关联功能的代码段。
也就是将一些重复做的事情、动作,提取出来通过定义一个函数来实现代码的复用,同时也是代码可扩展、易维护。
语法定义:
python定义函数通过def关键字,一般格式如下:
def 函数名(参数列表): 函数体 def output(): print("hello world !") #调用函数 output() #输出结果 'helloworld'
默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
带参数实例
def area(height,width) : res = height * width return res area(4,5) #20
注:这里要说明一下,如果你想要一个函数的执行结果,你可以使用return,把结果返回。也意味着这个函数执行结束了。如果函数中没有指定return,那么返回值为None。
函数参数与局部变量
形参只有被调用时才分配内存地址,在调用结束之后,会立即释放内存,形参只有在函数内部有效,函数结束之后,无法调用形参。
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。
非固定参数
若你在定义函数时,不确定传入多少个参数时,可以使用非固定参数。
def info (name,age,*args): print(name,age,args) info('jack',22) # 输出: Jack, 22 () # 后面()就是args,因为没有传值,所以是空的 info('tom',22,'181cm','72kg') # 输出: 'tom',22,('181cm',72k) # *args 会把多个传入的参数变成一个元组形式。
还有一种**kwargs
def info (name,age,*tup,**dic) : print(name,age,tup,dic) info('Jerry',24) ''' 输出: Jerry,24 () {} 后面{} 这个就是 kwarge,没有传值,所以为空。''' info('jerry',24,'176cm','60kg',sex='male',addr='未知') # 输出:jerry,24,('176cm','60kg') {'sex':'male','addr':'未知'} # **dic会把传入的多个参数变成一个字典的形式。
全局变量与局部变量
首先,要知道变量是做什么的,变量就是存储数据的。
全局变量:程序在一开始就定义的变量,作用于整个程序中,在函数,类中,子程序中可以访问,使用。
局部变量:就是定义在子程序中的变量,它只能在子程序中,被访问,被使用。在子程序外,是不能使用局部变量的。
小结: 在程序中,当全局变量和局部变量,变量名相同时:在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
匿名函数
匿名函数就是不需要显式的指定函数
# 一般函数 def calc(n) : return n**n print(calc(10)) # 匿名函数 calc = lambda n:n**n print(calc(10)) # 输出同样的结果:10000000000