定义函数

  1. # 定义函数
  2. def MyFunction():
  3. print('我定义了函数')
  4. print('测试测试')
  5. # 调用函数
  6. MyFunction()

image.png

函数关键字参数

  1. def MyFunction(age, name):
  2. print(age, name)
  3. # 调用
  4. MyFunction(18,小明)
  5. # 打印 18, 小明
  6. # 调用
  7. MyFunction(小明,18)
  8. # 打印 小明,18
  9. # 调用
  10. MyFunction(age = 20, name ='小红')

函数默认值参数

  1. def MyFunction(age = 18, name='陈陈'):
  2. print(age, name)
  3. # 调用
  4. MyFunction()
  5. # 打印 18 陈陈

函数收集参数

  1. def MyFunction(*params, exp):
  2. print('参数长度:', params)
  3. print('我是第二个参数:', params[1])
  4. print('exp:', exp)
  5. # 调用
  6. MyFunction(1,'niha', '陈陈',3015,5.32,[18,'篮球'], exp = '自已定义的')
  7. # 打印
  8. 参数长度 6 ;
  9. 我是第二个参数 'niha';
  10. exp: '自已定义的'

内嵌函数

  1. def test():
  2. x = 5
  3. def Fun2():
  4. nonlocal x
  5. x *= x
  6. return x
  7. return Fun2()
  8. test()
  9. #打印 25

函数的小伙伴 nonlocal

nonlocal 表示这个函数内的 变量 是全局变量, 不是局部变量

过滤函数 filter()

filter() 过滤器 实际上就是把任何非true 的数据过滤掉
第一个参数是算法
第二个是参数是要过滤的数据

  1. list(filter(None, [1, 0, False, True]))
  2. # 打印 [1, True]

过滤基数列子

  1. def odd(x):
  2. return x % 2
  3. temp = range(10)
  4. show = filter(odd, temp)
  5. list(show)
  6. # 打印 [1, 3, 5, 7, 9]
  7. #简写
  8. list(filter(lambda x : x % 2, range(10)))
  9. #打印 [1, 3, 5, 7, 9]

函数map()

  1. 第一个参数 为函数类型, <br /> 第二个参数是可迭代的数据
  1. list(map(lambda x : x * 2, range(10)))
  2. # 打印 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]