cs61a 课时笔记-Python变量的命名、环境、函数定义及调用

name

编程语言中定义一个名字指示一个计算对象,给一个值一个名字,就是将名字绑定到一个值上。
将计算对象(值,函数)绑定到一个名字上有两种方式:
1)赋值操作
2)通过import
如:

radius = 10
from math import pi

“=”-表示赋值,将右边的值或函数与左边的名绑定。
当将名和值绑定之后,直接通过名可以获得其值。其背后有维持名,值和绑定这一操作的内存,这就是所谓的环境。

另外,数字和数学运算符都是已经内建的值和函数。

environment diagram

使用 pythononlinetutor
使用环境视图能可视化处理过程

2_1

print and None

None 在python中表示什么也没有,布尔逻辑中看作False。
print函数打印值,但是返回None。

>>> two = print(2)
2
>>> print(two)
None

defining function

赋值就是绑定一个名字给一个值。那么函数呢?
函数就是绑定一个名字给一个表达式。
python的内建函数可以直接被我们调用,如max,min,print等等,我们也可以自己定义函数。
函数的定义如下:
2_2
函数定义的例子:

def swap(a, b):
	a,b = b, a
	return a, b

上述例子中参数a,b 又成为局部变量,在函数内部修改a,b的值不会改变外部的值。更多的可变和不可变变量在后面会详细介绍。
2_4

calling user-defined function

函数只有被调用的时候才会执行其内部的指令。使用环境视图观察自定义函数的调用。
2_3
在函数调用时,新开辟一个局部环境,并在这个局部环境中执行运算。
在当前局部环境找不到对应参数时,向全局环境中查找。

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_5


>>> 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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章