這一篇文章主要介紹一些python的基礎知識,包括演算法、數字和表達式、變數、語句、獲取用戶輸入等。 什麼是演算法 什麼是電腦編程呢?簡單的來說,電腦編程就是告訴電腦如何做。 而演算法只不過是流程或菜譜的時髦說法,詳盡的描述瞭如何完成某項任務,以便於電腦更好的執行。 例如下麵的菜譜,雞蛋火腿腸: ...
這一篇文章主要介紹一些python的基礎知識,包括演算法、數字和表達式、變數、語句、獲取用戶輸入等。
什麼是演算法
什麼是電腦編程呢?簡單的來說,電腦編程就是告訴電腦如何做。
而演算法只不過是流程或菜譜的時髦說法,詳盡的描述瞭如何完成某項任務,以便於電腦更好的執行。
例如下麵的菜譜,雞蛋火腿腸:
- 先取一些火腿腸
- 再加些火腿腸和雞蛋
- 如果喜歡吃辣,加些辣味火腿腸
- 煮熟為止
- 記得每隔10min檢查一次
這個菜譜很簡單,但是具有一定的結構性。它由一系列必須按順序執行的操作說明組成,其中有些可以直接完成;有些需要特別註意;還有些需要重覆。
演算法也是一樣,由對象(原料)和語句(操作說明)組成。
數和表達式
1、互動式Python解釋器可以當作計算器使用,支持簡單的數學運算:
>>> 2+2
4
>>>
2、在Python中,除法運算的結果為小數,即浮點數:
>>> 1 / 2
0.5
>>> 1 / 1
1.0
>>>
3、Python中的 整除運算(//
)可以丟棄小數部分,註意這裡並不是四捨五入:
>>> 10 // 3
3
>>> 10 // -3
-4
>>> -10 // 3
-4
>>> -10 // -3
3
4、Python中求餘/求模****運算(%
)表示取餘數:
>>> 10 % 3
1
>>> 10 % -3
-2
>>> -10 % 3
2
>>> -10 % -3
-1
- 基於除法運算的原理和上面的取整運算,就很容易理解最終的餘數是多少了。
- 對於有負數的除法,記住:餘數不能為0。例如 -10 / 3 = -3··· -1 或 -10 / 3 = -4··· 2,顯然正確的計算方法為後者。
- 取模用於條件判斷很有用,例如上面菜單中10mim檢查一次可以通過 x % 10 == 0 是否成立來實現。
5、Python中乘方/求冪運算通過多個 *
實現:
>>> 2 ** 3
8
>>> -3 ** 2 # 乘方運算的優先順序比求負高,等價於-(3**2),所以結果是-9
-9
>>> (-3) ** 2
9
6、十六進位、八進位和二進位
>>> 0xaf # 十六進位寫法
175
>>> 0o10 # 八進位寫法
8
>>> 0b1011010010 #二進位寫法
722
- 這些表示方法都以0開頭
- x表示十六進位
- o表示八進位
- b表示二進位
變數
在Python中變數(variable)是表示(或指向)特定值的名稱,這一過程也稱為賦值(assignment),賦值之後就可以使用變數了:
>>> x = 3 # 給變數x賦值
>>> x * 2 # 使用變數x
6
- 註意,Python變數沒有預設值,所以使用變數前必須給變數賦值
- 在Python中,變數/名稱/標識符只能由字母、數字、下劃線構成,且不能以數字開頭
語句
print語句
>>> print('Hello World!')
Hello World!
>>> print(2 * 2)
4
>>> 2 * 2
4
- 在互動式模式中,執行乘法表達式和print語句中執行表達式的語句沒有差別,這是因為解釋器總是會將表達式的值列印出來(實際上是列印repr的內容)。如果在非互動式模式中表達式結果不會自動列印出來,必須通過print語句才能展示。
- print實際上是一個函數,所以print語句本質上是函數的調用
- print語句會改變屏幕顯示外觀
賦值語句
>>> x = 3
>>>
>>> print(x)
3
>>>
- 賦值語句和表達式的差別更明顯,因為賦值語句不是表達式,它們沒有可供互動式解釋器列印的值
- 執行賦值語句後,互動式解釋器只是再次顯示提示符。唯一的區別是有一個名稱為x的新變數,與值3關聯
- 賦值語句會改變變數
if語句
>>> if 1 == 2: print('One equals two')
...
>>> if 1 == 1: print('One equals one')
...
One equals one
>>>
>>> time = 120
>>> if time % 60 == 0: print('On the hour!') # 可以檢查以分鐘為單位的時間是否是整點
...
On the hour!
>>>
- if語句可在給定條件滿足時執行特定的操作(另一條語句),一般使用相等運算符(==)表示相等性檢查
- if條件後面需要加上冒號與後面的語句分開,條件不滿足時什麼都不做,條件滿足時候將執行冒號後面的語句
所有語句都有一個根本性的特征:執行修改操作。
在所有的編程語言中,賦值語句都是最重要的語句。變數就像臨時“存儲區”(類似於菜譜中的鍋碗瓢盆),其真正的威力在於無需知道它們存儲的值就能操作它們。
其實變數就是數學中的代數思想,而賦值過程就是我們為了更具體的說明問題給字母一個具體的數字來便於運算。
獲取用戶輸入
在Python中,input()函數可以用來獲取用戶的輸入。
>>> input('The meaning of life: ')
The meaning of life: 42
'42'
>>>
>>> x = input('x: ')
x: 66
>>> y = input('y: ')
y: 88
>>> print(int(x) + int(y))
154
>>>
- 從上面的例子可以看出,input()函數括弧中引號內容是用戶輸入的提示信息,回車之後會列印在屏幕上;繼續鍵入的內容會被input(以文本或字元串的方式)返回,並列印出來
- 通過int()函數可以將輸出的數字字元串轉換為整數。