函数

定义函数

  1. def funcName(params):
  2. return data

调用函数

….

参数默认值

  1. def func(name="小猪",age):
  2. do something...

可变参数

基于元组的可变参数(*)

  1. def sum(*numbers): #numbers被认为是元组
  2. total = 0
  3. for number in numbers:
  4. total+=number
  5. return total

基于字典的可变参数(**)

  1. def info(**info): # info被认为是字典
  2. for key, value in info.items():
  3. print('{0} -{1}'.format(key,value))

变量作用域

  • 局部变量
  • 全局变量
    将局部变量提升为全局变量。
  1. x = 10
  2. def show():
  3. global x
  4. x = 20
  5. print("x={}".format(x)) # 20 全局变量的值已经修改

函数类型

函数可以作为返回值,也可以作为参数。

过滤函数

filter(function,iterable)

  1. # 过滤列表中所有大于50的数据。
  2. def filterNum(x):
  3. return x > 50
  4. data = [10,30,50,60,70]
  5. values = filter(filterNum,data) # filter()
  6. print(list(values)) # [60,70]

映射函数

  1. def doubleNum(x):
  2. return x * 2
  3. data = [10,30,50,60,70]
  4. values = map(doubleNum,data)
  5. print(list(values)) # [20, 60, 100, 120, 140]

lambda 函数

使用lambda关键字定义匿名函数。
labmda 参数列表: 函数体

  1. data = [10,30,50,60,70]
  2. values = map(lambda x : x * 2,data)
  3. print(list(values)) # [20, 60, 100, 120, 140]