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/

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