name
编程语言中定义一个名字指示一个计算对象,给一个值一个名字,就是将名字绑定到一个值上。
将计算对象(值,函数)绑定到一个名字上有两种方式:
1)赋值操作
2)通过import
如:
radius = 10
from math import pi
“=”-表示赋值,将右边的值或函数与左边的名绑定。
当将名和值绑定之后,直接通过名可以获得其值。其背后有维持名,值和绑定这一操作的内存,这就是所谓的环境。
另外,数字和数学运算符都是已经内建的值和函数。
environment diagram
使用 pythononlinetutor
使用环境视图能可视化处理过程
print and None
None 在python中表示什么也没有,布尔逻辑中看作False。
print函数打印值,但是返回None。
>>> two = print(2)
2
>>> print(two)
None
defining function
赋值就是绑定一个名字给一个值。那么函数呢?
函数就是绑定一个名字给一个表达式。
python的内建函数可以直接被我们调用,如max,min,print等等,我们也可以自己定义函数。
函数的定义如下:
函数定义的例子:
def swap(a, b):
a,b = b, a
return a, b
上述例子中参数a,b 又成为局部变量,在函数内部修改a,b的值不会改变外部的值。更多的可变和不可变变量在后面会详细介绍。
calling user-defined function
函数只有被调用的时候才会执行其内部的指令。使用环境视图观察自定义函数的调用。
在函数调用时,新开辟一个局部环境,并在这个局部环境中执行运算。
在当前局部环境找不到对应参数时,向全局环境中查找。
documentation
自建函数需要说明文档让使用者知道它使干什么的,参数使什么意思。如:
>>> def pressure(v, t, n):
"""Compute the pressure in pascals of an ideal gas.
Applies the ideal gas law: http://en.wikipedia.org/wiki/Ideal_gas_law
v -- volume of gas, in cubic meters
t -- absolute temperature in degrees kelvin
n -- particles of gas
"""
k = 1.38e-23 # Boltzmann's constant
return n * k * t / v
现在很多IDE(比如Pycharm)有很好的功能支持,帮助开发人员便捷说明文档,。
operator
python中的运算操作,逻辑操作
官方文档: operator — Standard operators as functions
如:
>>> 2 + 3
5
>>> add(2, 3)
5
>>> 2 + 3 * 4 + 5
19
>>> add(add(2, mul(3, 4)), 5)
19
参考:
https://inst.eecs.berkeley.edu/~cs61a/sp18/
http://composingprograms.com/