人生苦短,我選Python
前文傳送門
前言
前面我們講了變量的基礎操作,本文我們接着講運算符。
運算符根據用途可以分爲以下這麼幾類:
- 算術運算符
- 比較運算符
- 賦值運算符
- 邏輯運算符
- 成員運算符
- 身份運算符
本篇我們先介紹前兩個,算術運算符和比較運算符。
算數運算符
算術運算符顧名思義就是我們做數字計算的時候用到的運算符,當然,加減乘除肯定都有,除此之外呢,還有程序中常見的取摸、取冪和取整除。詳細如下表:
運算符 | 描述 |
---|---|
+ | 加 |
- | 減 |
* | 乘 |
/ | 除 |
% | 取模 - 返回除法的餘數 |
** | 冪 - 返回x的y次冪 |
// | 取整除 - 向下取接近除數的整數 |
我們來看幾個簡單的例子:
a = 5
b = 10
c = a + b
print("1\. c 的值爲:", c)
c = a - b
print("2\. c 的值爲:", c)
c = a * b
print("3\. c 的值爲:", c)
c = a / b
print("4\. c 的值爲:", c)
c = a % b
print("5\. c 的值爲:", c)
c = a ** b
print("6\. c 的值爲:", c)
# 改變 a 和 b 的值
a = 10
b = 5
c = a // b
print("7\. c 的值爲:", c)
計算結果如下:
1\. c 的值爲: 15
2\. c 的值爲: -5
3\. c 的值爲: 50
4\. c 的值爲: 0.5
5\. c 的值爲: 5
6\. c 的值爲: 9765625
7\. c 的值爲: 2
上面的栗子都整形的計算,如果是不同類型的數據運算,會發生隱式類型轉換。
類型轉換的規則由低等向高等轉換。
bool(布爾) < int(整形) < float(浮點型) < complex(複數)
對Python感興趣或者是正在學習的小夥伴,可以加入我們的Python學習扣qun:855408893 ,從0基礎的python腳本到web開發、爬蟲、django、數據挖掘數據分析等,0基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每晚分享一些學習的方法和需要注意的小細節,學習路線規劃,利用編程賺外快。點擊加入我們的 python學習圈
我們再看幾個栗子:
a = 1
b = 1.5
c = a + b
print("8\. c 的值爲:", c, ",c 的類型爲:", type(c))
d = True
e = c + d
print("9\. e 的值爲:", e, ",e 的類型爲:", type(e))
f = 2 + 4j
g = e + f
print("10\. g 的值爲:", g, ",g 的類型爲:", type(g))
計算結果如下:
8. c 的值爲: 2.5 ,c 的類型爲: <class 'float'>
9. e 的值爲: 3.5 ,e 的類型爲: <class 'float'>
10. g 的值爲: (5.5+4j) ,g 的類型爲: <class 'complex'>
注意: 在算術運算時,True代表1,False代表0
運算內置函數
內置的意思就是安裝好就有,無需額外安裝,就比如我們每次買回來的新手機都有一堆內置的軟件:)
Python 提供的內置函數如下圖:
我們這裏選取一些和計算相關的常用的內置函數做一些簡單的講解和演示(個人覺得演示更加的重要):
函數 | 含義 |
---|---|
abs(x) | 返回一個數的絕對值。實參可以是整數或浮點數。如果實參是一個複數,返回它的模。 |
complex([real[, imag]]) | 返回值爲 real + imag*1j 的複數,或將字符串或數字轉換爲複數。 |
divmod(a, b) | 它將兩個(非複數)數字作爲實參,並在執行整數除法時返回一對商和餘數。 |
float([x]) | 返回從數字或字符串 x 生成的浮點數。 |
pow(x, y[, z]) | 返回 x 的 y 次冪;如果 z 存在,則對 z 取餘(比直接 pow(x, y) % z 計算更高效)。兩個參數形式的 pow(x, y) 等價於冪運算符: x**y。 |
round(number[, ndigits]) | 返回 number 舍入到小數點後 ndigits 位精度的值。 如果 ndigits 被省略或爲 None,則返回最接近輸入值的整數。 |
sum(iterable[, start]) | 從 start 開始自左向右對 iterable 中的項求和並返回總計值。 start 默認爲 0。 iterable 的項通常爲數字,開始值則不允許爲字符串。 |
bin(x) | 將一個整數轉變爲一個前綴爲“0b”的二進制字符串。 |
oct(x) | 將一個整數轉變爲一個前綴爲“0o”的八進制字符串。 |
hex(x) | 將整數轉換爲以“0x”爲前綴的小寫十六進制字符串。 |
chr(i) | 返回 Unicode 碼位爲整數 i 的字符的字符串格式。 |
ord© | 對錶示單個 Unicode 字符的字符串,返回代表它 Unicode 碼點的整數。 |
bool([x]) | 返回一個布爾值,True 或者 False。 |
測試示例如下:
print("11\. -1 的絕對值爲:", abs(-1))
print("12\. 創建的複數爲:", complex(1, -2))
print("13\. 商和餘數爲:", divmod(10, 3))
print("14\. 浮點型轉換:", float(1))
print("15\. 10的3次冪爲:", pow(10, 3))
print("16\. 四捨五入爲:", round(5.5))
print("17\. 集合求和結果爲:", sum({1, 2, 3 ,4}))
print("18\. 整數20的二進制爲:", bin(20))
print("19\. 整數20的八進制爲:", oct(20))
print("20\. 整數20的十六進制爲:", hex(20))
print("21\. Unicode 爲 97 的字符串:", chr(97))
print("22\. 字符串 a 的 Unicode 碼:", ord('a'))
print("23\. 123 的 boolean 值爲:", bool(123))
print("24\. 空字符串的 boolean 的值爲:", bool(''))
測試結果如下:
11\. -1 的絕對值爲: 1
12\. 創建的複數爲: (1-2j)
13\. 商和餘數爲: (3, 1)
14\. 浮點型轉換: 1.0
15\. 10的3次冪爲: 1000
16\. 四捨五入爲: 6
17\. 集合求和結果爲: 10
18\. 整數20的二進制爲: 0b10100
19\. 整數20的八進制爲: 0o24
20\. 整數20的十六進制爲: 0x14
21\. Unicode 爲 97 的字符串: a
22\. 字符串 a 的 Unicode 碼: 97
23\. 123 的 boolean 值爲: True
24\. 空字符串的 boolean 的值爲: False
比較運算符
從字面意思來理解,比較運算符就是比較兩個數值或者字符串類型的數據,返回一個布爾值。
比較運算符有以下幾種:
運算符 | 描述 |
---|---|
== | 等於 - 比較對象是否相等 |
!= | 不等於 - 比較兩個對象是否不相等 |
> | 大於 - 返回x是否大於y |
< | 小於 - 返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。 |
>= | 大於等於 - 返回x是否大於等於y。 |
<= | 小於等於 - 返回x是否小於等於y。 |
下面我們舉幾個栗子:
a = 5
b = 10
if (a == b):
print("25\. a 等於 b")
else:
print("25\. a 不等於 b")
if (a != b):
print("26\. a 不等於 b")
else:
print("26\. a 等於 b")
if (a < b):
print("27\. a 小於 b")
else:
print("27\. a 大於等於 b")
if (a > b):
print("28\. a 大於 b")
else:
print("28\. a 小於等於 b")
if (a <= b):
print("29\. a 小於等於 b")
else:
print("29\. a 大於 b")
if (b >= a):
print("30\. b 大於等於 a")
else:
print("30\. b 小於 a")
結果如下:
25\. a 不等於 b
26\. a 不等於 b
27\. a 小於 b
28\. a 小於等於 b
29\. a 小於等於 b
30\. b 大於等於 a