python之函数

函数 参数分为形参与实参
形参:位置参数、默认参数、可变参数、关键字参数

位置参数:形参和实参个数必须保持一致。为了关联函数定义中形参,基于形参的顺序。
def getInfo(name,age): print name,age getInfo(age=12,name='westos')
默认参数:形参和实参的个数可以不一致。默认形参可以改变。
def mypow(x,y=2):
可变参数:

python之函数
文章图片
注意
解包
对list tuple set 解包时,只需要在变量前加 * nums = [1,2,3,4,66,78] nums1 =(1,2,3,4,5) nums2 = {1,2,3} *nums:解包 mysum(*nums2)
  • 关键字参数
    **d:是一个字典;可以传递任意多的key-value对

    python之函数
    文章图片
def getStuInfo(name,age,**kwargs):
"""
**kwargs:是一个字典;可以传递任意多的key-value对
:param name:
:param age:
:param kwargs:
:return:
"""
print name,age
print kwargs
getStuInfo('westos',18,hobbies=['code','running'],gender ='female')
  • 函数变量的作用域
    局部变量:在函数内部定义的普通变量,只在函数内部作用,函数执行结束后,变量自动删除。
    全局变量:全局使用。

    python之函数
    文章图片
a = 1
print 'outside:',id(a)
def fun():
global a # 声明a为全局变量
a = 5
print 'inside:',id(a)
fun()
print a
print id(a)
  • 函数的返回值
返回值:函数运算的结果,还需要进一步操作时,给一个返回值
return用来返回函数执行结果的,如果没有返回值,默认为None
python可以间接返回多个值(返回了一个元组)
一旦遇到return,函数执行结束,后面的代码不会执行

python之函数
文章图片
def mypow(x, y=2):
return x ** y, x + y
print 'hello'
对元组进行解包
a,b = mypow(3)
print a,b
  • 列表生成式

    python之函数
    文章图片
    一个简单的列表生成式
  • 字典生成式
假设有20个学生,学分在60~100之间,筛选出成绩在90分以上的学生

python之函数
文章图片

python之函数
文章图片

python之函数
文章图片
  • 函数装饰器
在不改变函数的基础上,给函数增加功能。
本质上:返回函数的函数

python之函数
文章图片

【python之函数】语法糖

python之函数
文章图片

python之函数
文章图片

    推荐阅读