python語言支援很多種運算子,我們先用乙個**為大家列出這些運算子,然後選擇一些馬上就會用到的運算子為大家進行講解。
說明: 上面這個**實際上是按照運算子的優先順序從上到下列出了各種運算子。所謂優先順序就是在乙個運算的表示式中,如果出現了多個運算子,應該先執行哪個運算再執行哪個運算的順序。在實際開發中,如果搞不清楚運算子的優先順序,可以使用圓括號來確保運算的執行順序。
算術運算子
python中的算術運算子非常豐富,除了大家最為熟悉的加減乘除之外,還有整除運算子、求模(求餘數)運算子和求冪運算子。下面的例子為大家展示了算術運算子的使用。
算術運算子
version: 0.1
author: 駱昊
print(321 + 123) # 加法運算
print(321 - 123) # 減法運算
print(321 * 123) # 乘法運算
print(321 / 123) # 除法運算
print(321 % 123) # 求模運算
print(321 // 123) # 整除運算
print(321 ** 123) # 求冪運算
賦值運算子
賦值運算子應該是最為常見的運算子,它的作用是將右邊的值賦給左邊的變數。下面的例子演示了賦值運算子和復合賦值運算子的使用。
賦值運算子和復合賦值運算子
version: 0.1
author: 駱昊
a = 10
b = 3
a += b # 相當於:a = a + b
a *= a + 2 # 相當於:a = a * (a + 2)
print(a) # 算一下這裡會輸出什麼
比較運算子和邏輯運算子
比較運算子有的地方也稱為關係運算子,包括==、!=、、<=、>=,我相信沒有什麼好解釋的,大家一看就能懂,需要提醒的是比較相等用的是==,請注意這裡是兩個等號,因為=是賦值運算子,我們在上面剛剛講到過,==才是比較相等的運算子;比較不相等用的是!=,這不同於數學上的不等號,python 2中曾經使用過<>來表示不等關係,大家知道就可以了。比較運算子會產生布林值,要麼是true要麼是false。
邏輯運算子有三個,分別是and、or和not。and字面意思是「而且」,所以and運算子會連線兩個布林值,如果兩個布林值都是true,那麼運算的結果就是true;左右兩邊的布林值有乙個是false,最終的運算結果就是false。相信大家已經想到了,如果and左邊的布林值是false,不管右邊的布林值是什麼,最終的結果都是false,所以在做運算的時候右邊的值會被跳過(短路處理),這也就意味著在and運算子左邊為false的情況下,右邊的表示式根本不會執行。or字面意思是「或者」,所以or運算子也會連線兩個布林值,如果兩個布林值有任意乙個是true,那麼最終的結果就是true。當然,or運算子也是有短路功能的,在它左邊的布林值為true的情況下,右邊的表示式根本不會執行。not運算子的後面會跟上乙個布林值,它的作用是得到與該布林值相反的值,也就是說,not後面的布林值如果是true,運算結果就是false;而not後面的布林值如果是false,運算結果就是true。
比較運算子和邏輯運算子的使用
version: 0.1
author: 駱昊
flag0 = 1 == 1
flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not (1 != 2)
print('flag0 =', flag0) # flag0 = true
print('flag1 =', flag1) # flag1 = true
print('flag2 =', flag2) # flag2 = false
print('flag3 =', flag3) # flag3 = false
print('flag4 =', flag4) # flag4 = true
print('flag5 =', flag5) # flag5 = false
說明:比較運算子的優先順序高於賦值運算子,所以flag0 = 1 == 1先做1 == 1產生布林值true,再將這個值賦值給變數flag0。print函式可以輸出多個值,多個值之間可以用,進行分隔,輸出的內容之間預設以空格分開。
運算子的例子
例子1:華氏溫度轉換為攝氏溫度。
將華氏溫度轉換為攝氏溫度
version: 0.1
author: 駱昊
f = float(input('請輸入華氏溫度: '))
c = (f - 32) / 1.8
print('%.1f華氏度 = %.1f攝氏度' % (f, c))
說明:在使用print函式輸出時,也可以對字串內容進行格式化處理,上面print函式中的字串%.1f是乙個佔位符,稍後會由乙個float型別的變數值替換掉它。同理,如果字串中有%d,後面可以用乙個int型別的變數值替換掉它,而%s會被字串的值替換掉。除了這種格式化字串的方式外,還可以用下面的方式來格式化字串,其中和可以先看成是和,表示輸出時會用變數f和變數c的值替換掉這兩個佔位符,後面的:.1f表示這是乙個浮點數,小數點後保留1位有效數字。
print(f'華氏度 = 攝氏度')
例子2:輸入圓的半徑計算計算周長和面積。
輸入半徑計算圓的周長和面積
version: 0.1
author: 駱昊
radius = float(input('請輸入圓的半徑: '))
perimeter = 2 * 3.1416 * radius
area = 3.1416 * radius * radius
print('周長: %.2f' % perimeter)
print('面積: %.2f' % area)
例子3:輸入年份判斷是不是閏年。
輸入年份 如果是閏年輸出true 否則輸出false
version: 0.1
author: 駱昊
year = int(input('請輸入年份: '))
is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print(is_leap)
說明:比較運算子會產生布林值,而邏輯運算子and和or會對這些布林值進行組合,最終也是得到乙個布林值,閏年輸出true,平年輸出false。
Python 語言元素
在程式設計中,變數是一種儲存資料的載體。要想掌握一門語言,弄懂各個變數的含義以及用法是關鍵的,變數的值可以被讀取和修改,這是所有計算和控制的基礎。python中的變數種類很多,這裡只介紹幾種常用的。與所有其他語言一樣,整形寫為int形式,需要注意的是在python3.中不區分int和long型別,並...
python是高階動態程式語言 Python語言
python是一門跨平台 開源 免費的解釋型高階動態程式語言。python支援命令式程式設計 how to do 函式式程式設計 what to do 完全支援物件導向程式設計,擁有大量擴充套件庫。膠水語言 可以把多種不同語言編寫的程式融合到一起實現無縫拼接,更好地發揮不同語言和工具的優勢,滿足不同...
Python的語言元素
指令和程式變數命名 對於每個變數我們需要給它取乙個名字,就如同我們每個人都有屬於自己的響亮的名字一樣。在python中,變數命名需要遵循以下這些必須遵守硬性規則和強烈建議遵守的非硬性規則。pep 8要求 當然,作為乙個專業的程式設計師,給變數 事實上應該是所有的識別符號 命名時做到見名知意也是非常重...