函数
1 | def func(arg1, ..., argN=1): |
return 是 return None 的简写, 函数可以没有 return 语句.
空函数体要使用 pass
超过一个返回值, 使用 tuple 实现: return x,y,z
传参可以直接按顺序传, 也可以 func(argN=1, ..., arg1=n)
不可变对象传参值传递, 可变对象传参引用传递
可选参数:
- 参数打包后以[]/()/{}传参.
- *tpl 表示 tuple, **dct 表示 dict.
匿名函数:
lambda arg1…: expression
作用域: 模块内函数外, 则全局可访问(函数内访问是只读, 加 global 变可写); 函数内, 函数局部可访问.
面向对象
1 | class ClassName(baseObject 默认 object): |
继承的初始化和覆盖
1 | # 继承 |
属性可以动态产生, 所以同一个类产生的对象, 不一定有相同的属性,
但是必要的属性, 可以使用 __init__
方法添加, 必须在创建对象时传入.
封装: 增加 private 概念, 使得有些内容只能内部访问, 要增加部分方法予以暴露.
继承: 增加复用性, 抽象性(父类是多个子类的共性), 子类覆盖父类的方法称重写.