首页 > 开发 > Python > 正文

一些基础的python语句8

2016-09-01 19:28:28  来源:慕课网
  在函数里面定义的参数,出了这个函数,这个变量都是无效的/局部变量
在函数里面可以调用函数外面的变量/全局变量
如果想在函数里面修改一个全局变量的值,需要用到 global.
count=12def add(): global count count+=8 print(count)  结果应为20
  闭包
def add(x): def app(y): return x*y return app>>> add(30)(5) 150  app(y)就是add(x)的闭包
  在闭包里面内部函数如果想改变外部函数的参数,可以使用nonlocal ;方法跟global相当
  lambda:有两个参数,冒号前面的是原函数的参数,在冒号后面的是原函数的返回值
def add(x,y): return x+yg=lambda = x,y:x+y  filter(,) filter有两个参数,第一个参数可以为一个函数或者None,第二个参数为一个可迭代数据/如果第一个参数为函数,则将第二个可迭代数据理的每一个元素作为函数的参数进行计算,返回True的值并作为一个列表。如果第一个参数为None,就将第二个参数里的True的值列出来作为一个列表
  效果一
def odd(x): return x%2temp=range(10)show=filter(odd,temp)print(list(show))  效果二
print(list(filter(lambda x:x%2,range(10))))  这两种方法都是一样的 结果为[1,3,5,7,9]
  map(,) 有两个参数,第一个参数为一个函数,第二个参数为一个可迭代对象/作用为把第二个可迭代对象带入到第一个参数中,并把结果生成一个列表
print(list(map(lambda x:x*2,range(10))))  结果为[0,2,4,6,8,10,12,14,16,18]