人生苦短镶蹋,我選Python
前文傳送門
小白學(xué) Python(2):基礎(chǔ)數(shù)據(jù)類型(上)
小白學(xué) Python(3):基礎(chǔ)數(shù)據(jù)類型(下)
小白學(xué) Python(4):變量基礎(chǔ)操作
前言
前面我們講了變量的基礎(chǔ)操作,本文我們接著講運算符。
運算符根據(jù)用途可以分為以下這么幾類:
- 算術(shù)運算符
- 比較運算符
- 賦值運算符
- 邏輯運算符
- 成員運算符
- 身份運算符
本篇我們先介紹前兩個哼御,算術(shù)運算符和比較運算符谎脯。
算數(shù)運算符
算術(shù)運算符顧名思義就是我們做數(shù)字計算的時候用到的運算符枫振,當(dāng)然,加減乘除肯定都有屈雄,除此之外呢,還有程序中常見的取摸官套、取冪和取整除酒奶。詳細(xì)如下表:
運算符 | 描述 |
---|---|
+ | 加 |
- | 減 |
* | 乘 |
/ | 除 |
% | 取模 - 返回除法的余數(shù) |
** | 冪 - 返回x的y次冪 |
// | 取整除 - 向下取接近除數(shù)的整數(shù) |
我們來看幾個簡單的例子:
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)
計算結(jié)果如下:
1. c 的值為: 15
2. c 的值為: -5
3. c 的值為: 50
4. c 的值為: 0.5
5. c 的值為: 5
6. c 的值為: 9765625
7. c 的值為: 2
上面的栗子都整形的計算蚁孔,如果是不同類型的數(shù)據(jù)運算,會發(fā)生隱式類型轉(zhuǎn)換惋嚎。
類型轉(zhuǎn)換的規(guī)則由低等向高等轉(zhuǎn)換杠氢。
bool(布爾) < int(整形) < float(浮點型) < complex(復(fù)數(shù))
我們再看幾個栗子:
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))
計算結(jié)果如下:
8. c 的值為: 2.5 ,c 的類型為: <class 'float'>
9. e 的值為: 3.5 摆尝,e 的類型為: <class 'float'>
10. g 的值為: (5.5+4j) 温艇,g 的類型為: <class 'complex'>
注意: 在算術(shù)運算時,True代表1结榄,F(xiàn)alse代表0
運算內(nèi)置函數(shù)
內(nèi)置的意思就是安裝好就有中贝,無需額外安裝,就比如我們每次買回來的新手機都有一堆內(nèi)置的軟件:)
Python 提供的內(nèi)置函數(shù)如下圖:
我們這里選取一些和計算相關(guān)的常用的內(nèi)置函數(shù)做一些簡單的講解和演示(個人覺得演示更加的重要):
函數(shù) | 含義 |
---|---|
abs(x) | 返回一個數(shù)的絕對值臼朗。實參可以是整數(shù)或浮點數(shù)邻寿。如果實參是一個復(fù)數(shù),返回它的模视哑。 |
complex([real[, imag]]) | 返回值為 real + imag*1j 的復(fù)數(shù)绣否,或?qū)⒆址驍?shù)字轉(zhuǎn)換為復(fù)數(shù)。 |
divmod(a, b) | 它將兩個(非復(fù)數(shù))數(shù)字作為實參挡毅,并在執(zhí)行整數(shù)除法時返回一對商和余數(shù)蒜撮。 |
float([x]) | 返回從數(shù)字或字符串 x 生成的浮點數(shù)。 |
pow(x, y[, z]) | 返回 x 的 y 次冪跪呈;如果 z 存在段磨,則對 z 取余(比直接 pow(x, y) % z 計算更高效)。兩個參數(shù)形式的 pow(x, y) 等價于冪運算符: x**y耗绿。 |
round(number[, ndigits]) | 返回 number 舍入到小數(shù)點后 ndigits 位精度的值苹支。 如果 ndigits 被省略或為 None,則返回最接近輸入值的整數(shù)误阻。 |
sum(iterable[, start]) | 從 start 開始自左向右對 iterable 中的項求和并返回總計值债蜜。 start 默認(rèn)為 0。 iterable 的項通常為數(shù)字究反,開始值則不允許為字符串寻定。 |
bin(x) | 將一個整數(shù)轉(zhuǎn)變?yōu)橐粋€前綴為“0b”的二進制字符串。 |
oct(x) | 將一個整數(shù)轉(zhuǎn)變?yōu)橐粋€前綴為“0o”的八進制字符串精耐。 |
hex(x) | 將整數(shù)轉(zhuǎn)換為以“0x”為前綴的小寫十六進制字符串狼速。 |
chr(i) | 返回 Unicode 碼位為整數(shù) i 的字符的字符串格式。 |
ord(c) | 對表示單個 Unicode 字符的字符串卦停,返回代表它 Unicode 碼點的整數(shù)向胡。 |
bool([x]) | 返回一個布爾值浅浮,True 或者 False。 |
測試示例如下:
print("11. -1 的絕對值為:", abs(-1))
print("12. 創(chuàng)建的復(fù)數(shù)為:", complex(1, -2))
print("13. 商和余數(shù)為:", divmod(10, 3))
print("14. 浮點型轉(zhuǎn)換:", float(1))
print("15. 10的3次冪為:", pow(10, 3))
print("16. 四舍五入為:", round(5.5))
print("17. 集合求和結(jié)果為:", sum({1, 2, 3 ,4}))
print("18. 整數(shù)20的二進制為:", bin(20))
print("19. 整數(shù)20的八進制為:", oct(20))
print("20. 整數(shù)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(''))
測試結(jié)果如下:
11. -1 的絕對值為: 1
12. 創(chuàng)建的復(fù)數(shù)為: (1-2j)
13. 商和余數(shù)為: (3, 1)
14. 浮點型轉(zhuǎn)換: 1.0
15. 10的3次冪為: 1000
16. 四舍五入為: 6
17. 集合求和結(jié)果為: 10
18. 整數(shù)20的二進制為: 0b10100
19. 整數(shù)20的八進制為: 0o24
20. 整數(shù)20的十六進制為: 0x14
21. Unicode 為 97 的字符串: a
22. 字符串 a 的 Unicode 碼: 97
23. 123 的 boolean 值為: True
24. 空字符串的 boolean 的值為: False
比較運算符
從字面意思來理解捷枯,比較運算符就是比較兩個數(shù)值或者字符串類型的數(shù)據(jù)滚秩,返回一個布爾值。
比較運算符有以下幾種:
運算符 | 描述 |
---|---|
== | 等于 - 比較對象是否相等 |
!= | 不等于 - 比較兩個對象是否不相等 |
> | 大于 - 返回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")
結(jié)果如下:
25. a 不等于 b
26. a 不等于 b
27. a 小于 b
28. a 小于等于 b
29. a 小于等于 b
30. b 大于等于 a
示例代碼
本系列的所有代碼小編都會放在代碼管理倉庫 Github 和 Gitee 上,方便大家取用棘街。