Python笔记 0x02

Python中的函数

函数定义

1
2
def a():
pass

函数的参数

必选参数

  • 最常用的正常参数称为必选参数(我这样分的)

    默认参数

  • 在定义函数的时候给出一个初始值,在未传入新参数时使用

    1
    2
    def a(x,y = 5):
    pass
  • 默认参数必须指向不可变对象

    可变参数

  • 不是参数的个数可变,而是把多个参数组装成一个整体(类似list或者tuple)

    1
    2
    def a(*L):
    pass
  • 传入多个参数以逗号分隔,传入list或tuple在之前加*

    关键字参数

  • 即传入的参数为键值对,可理解为可变参数的扩展
  • 类似于可变参数,用定义,也用\传入字典。

    命名关键字参数

  • 限制关键字参数传入的范围
  • 有可变参数时,跟在可变参数之后,没有时同位置参数以*分隔

    1
    2
    3
    def a(name,*,birth):
    pass
    a(bob,birth = 1)
  • 只能传入命名关键字,不传或多传都会报错

    参数组合问题

  • 可以使用多种参数,定义顺序按照必选参数,默认参数,可变参数,命名关键字参数,关键字参数顺序。
  • 注意命名关键字定义于关键字之前

    递归函数

  • 在return种调用自身
  • Python中并未进行尾递归优化

    模块

  • 导入模块后可以使用模块中的函数,类和模块类似