前置引用(Forward Reference):即當前內容所講述的片段引用於後續內容講到的知識,程序語言的知識結構是非線性的,即不是連貫的,不是說你非得學完當前的章節才能學習後續的章節,每個章節的內容之間都互有穿插,故學習一門程序語言需要知道“前置引用”。
布爾代數的發明者是英國數學家喬治.布爾,出生於1815年。
【布爾運算】
- 程序(Programs)就是按照一定順序完成既定任務的流程(Procedures)。不同的流程代表不同的處理思路和完成方法,稱爲算法(Algorithim),算法可以改進,稱爲優化(Optimization)。
- 可編程(Programable)的核心在於布爾運算和相應的流程控制(Control Flow),沒有布爾運算能力就不能做流程控制,不做流程控制程序就只能按照“順序執行”。
布爾值(Boolean Value):包含True和False兩種。
- Python解釋器區分大小寫,即True和true表示的意義是不一樣的。
- 任何一個邏輯表達式都會返回一個布爾值。
- 注意,自然語言中的“等於”,在編程語言中用兩個“=”表示,即“==”。
- 執行以上程序的方法是選中當前的cell,按快捷鍵 shift + enter。
操作符:對於數字,可用的操作符包含 +,-,*,/,//,%,**,分別代表 加、減、乘、除、商、餘、冪。
邏輯操作符(Logical Operators):也稱爲比較操作符,包含如下,
- 注意,Python比 C 或者 C++ 多了 in 這個操作符,
’a’ in ’basic’ # 表示’a’ 是否存在於 ’basic’ 這個字符串中(表示隸屬關係)
- 邏輯操作符的運算對象(Operands)包含:數字值、字符串值
布爾運算操作符:包含三種,與、或、非,分別對應 and, or, not。
流程控制(Control Flow):即根據布爾運算後得到的不同實際情況決定流程的執行順序。
- 先忽略第一行代碼的意思;
- 注意 if 和 else 語句後面的冒號;
- if/else 語句在這裏完成了流程分支的功能;
- random.rangange(1,1000) 代表的意思是返回一個從1到1000的隨機數值(包含左側的1,但不包含右側的1000);
- r = 2 代表的意思是將數字 2 賦值(Assignment) 給變量(Variable)r,用自然語言描述就是“將2這個值保存到名稱爲r的變量之中”;
- print() 是一個函數(Function),涉及到的相關概念有函數名(Function Name)、參數(Parameter)、返回值(Return value)、調用(Call),舉例如下:
- 這樣就代表我們調用了一個函數,其中abs是函數名,-0.123455是所傳遞的參數,函數接收到參數後進行運算返回一個值,最後賦值給變量a並在屏幕上輸出;
被調用的函數可視爲一個子程序(Sub-Program),主程序執行到該函數調用時,就開始執行實現函數的那些代碼,而後再返回主程序……
- for代表的是循環(Loop);
- Python程序中 # 後面的表示註釋語句,機器執行到# 時會直接忽略包括#及其以後的語句;
- 語句塊:
在 Python 語言中,行首空白(Leading whitespace,由空格
' '
或者 Tab⇥
構成)有着特殊的含義。如果有行首空白存在,那麼,Python 將認爲這一行與其他鄰近有着相同行首空白的語句同屬於一個語句塊 —— 而一個語句塊必然由一個行末帶有冒號
:
的語句起始。同屬於一個語句塊中的語句,行首空白數量應該相等。
注意,同一個程序中不建議同時混用空格和tab鍵,建議統一,要麼都使用空格,要麼都使用tab鍵。
- def 表示定義一個新的函數。
賦值符號與操作符的連用:
- x += 1 代表將 x + 1 的值賦給變量 x;