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/