Python¶
基本语法与函数¶
-
/
正常除法,得到浮点数;//
向下取整 -
赋值语句都是先算右值再依序与左侧名称绑定
-
函数定义:
-
print
等非纯函数返回值始终为None
-
def
和赋值语句将名称与当前值绑定,且此前所有的绑定都失效 -
函数及形参名称选取:
- 单词之间用下划线
- 函数名反映对参数的操作或结果
- 参数名反映其作用
-
函数是一种抽象:domain(接受的参数合集) → range(返回的参数合集) intent(计算输入和输出的关系以及可能产生的副作用)
条件控制 高阶函数 环境¶
- 好的函数是抽象的:通用、简单、不重复
- """docstring"""用于函数说明,
help(<function>)
可查看 - Boolean Operators:
and
or
not
& short-circuiting: 换言之,从左向右,某位置的表达式已经可以保证整个语句的真假可判断时,计算结果为此表达式的结果,否则为最右侧值 - 执行比较并返回布尔值的函数通常
is
开头且无下划线,如isinstance
isfinite
condition statement
- if-elif-else
- for loop
- while loop
- break/continue
- 在函数定义中,其他函数也可以作为形参传入,这使得函数更通用也更抽象
eg
-
嵌套地定义函数:被嵌套定义的函数的父栈帧不是全局帧,而是定义它的函数的局部帧,从而形成了从内到外的环境链。在计算函数内部的表达式时,Python会先在当前帧中查找,然后逐级向外查找,直到找到首个绑定的值。
-
函数作为返回值:可以复合多个函数
-
Curring(柯里化):使用高阶函数将多元函数转化为只接受一个参数的函数链
- Lambda expression 是函数的简化,但可读性差
Note
lambda x : f(g(x))
A function takes x and returns f(g(x))
others
- 函数装饰器(decorator)
example
最后更新:
2024年10月14日 22:13:45
创建日期: 2024年3月9日 08:53:42
创建日期: 2024年3月9日 08:53:42