一谎倔、數(shù)值
1. 表現(xiàn)形式
- 整數(shù): int
- 二進(jìn)制:
0b + 二進(jìn)制數(shù)(0, 1)
, 例如:0b1010
- 八進(jìn)制:
0o + 八進(jìn)制數(shù)(0-7)
, 例如:0o21457
- 十進(jìn)制:
十進(jìn)制數(shù)(0-9)
, 例如:94832
- 十六進(jìn)制:
0x + 十六進(jìn)制數(shù)(0-9, a-f)
, 例如:0xa5b3
- 二進(jìn)制:
- 浮點(diǎn)數(shù):
float
- 有整數(shù)部分和小數(shù)部分組成, 例如:
10.312
- 可以使用科學(xué)計(jì)數(shù)法表示, 例如:
1.682e02 => 1.682 * 10^2
- 有整數(shù)部分和小數(shù)部分組成, 例如:
- 復(fù)數(shù):
complex
- 由實(shí)部和虛部組成
-
a + bj
, 可以由函數(shù)complex(a, b)
表示 - a和b都是浮點(diǎn)數(shù)
- 注意:
- Python3的整形, 可以自動調(diào)整大小, 當(dāng)做long類型使用, Python3中沒有l(wèi)ong類型, Python2中有l(wèi)ong類型
- 數(shù)值型分正負(fù)
2. 進(jìn)制轉(zhuǎn)換
- 進(jìn)制概念: 進(jìn)位的制度,
x進(jìn)制, 逢x進(jìn)1
- 常用進(jìn)制:
- 二進(jìn)制: 逢2進(jìn)1
- 八進(jìn)制: 逢8進(jìn)1
- 十進(jìn)制: 逢10進(jìn)1
- 十六進(jìn)制: 逢16進(jìn)1
- 進(jìn)制轉(zhuǎn)換
- 二進(jìn)制 -> 十進(jìn)制:
0b1011 -> 1 * 2 ^ 3 + 0 * 2 ^ 2 + 1 * 2 ^1 + 1 * 2 ^ 0
- 八進(jìn)制 -> 十進(jìn)制:
0o7562 -> 7 * 8 ^ 3 + 5 * 8 ^ 2 + 6 * 8 ^1 + 2 * 8 ^ 0
- 十六進(jìn)制 -> 十進(jìn)制:
0xf5a -> 15 * 16 ^ 2 + 5 * 16 ^ 1 + 10 * 16 ^ 0
- 十進(jìn)制 -> x進(jìn)制: 整除倒取余
十進(jìn)制 -> 二進(jìn)制 num = 18 print(bin(num)), 打印: 0b10010 十進(jìn)制 -> 八進(jìn)制 num = 18 print(oct(num)), 打印: 0o22 十進(jìn)制 -> 十六進(jìn)制 num = 18 print(hex(num)), 打印: 0x12
- 二進(jìn)制 -> 八進(jìn)制: 整合三位為一位, 不足三位, 前面補(bǔ)0
num = 0b10 010 10 -> 010 -> 2 010 -> 2 0b010 010 == 0o22
- 八進(jìn)制 -> 二進(jìn)制: 一位分為三位
num = 0o22 2 -> 010 2 -> 010 0o22 == 0b010010
- 二進(jìn)制 -> 十六進(jìn)制: 整合四位為一位, 不足四位, 前面補(bǔ)0
num = 0b101 1010 101 -> 0101 -> 5 1010 -> 10 0b01011010 == 0x5a
- 十六進(jìn)制 -> 二進(jìn)制: 一位分為四位
num = 0x5a 5 -> 0101 a -> 1010 0o22 == 0b0101 1010 -> 0b1011010
- 二進(jìn)制 -> 十進(jìn)制:
3. 常用操作
- 適用于幾乎所有Python運(yùn)算符
- 整數(shù)和浮點(diǎn)數(shù)進(jìn)行運(yùn)算, 結(jié)果是浮點(diǎn)數(shù)
- 條件判斷時, 非零即真
- 數(shù)學(xué)函數(shù)
- Python中擁有內(nèi)置函數(shù), 即: 可以直接調(diào)用的函數(shù)
abs(x): 絕對值函數(shù), 獲取數(shù)值的絕對值 max(x, y, ...): 最大值函數(shù), 獲取多個數(shù)值中的最大值 min(x, y, ...): 最小值函數(shù), 獲取多個數(shù)值中的最小值 round(x, n): 四舍五入函數(shù), n為小數(shù)點(diǎn)后位數(shù) num = round(3.57) print(num), 打印: 4 // 保留一位小數(shù) num1 = round(3.57, 1) print(num1), 打印: 3.6 pow(x, y): x的y次冪
- 非內(nèi)置函數(shù)使用前注意:
- 導(dǎo)入對應(yīng)模塊: 例如:
import math
- 使用函數(shù)時: 模塊名.函數(shù)名(參數(shù)), 例如:
math.fabs(-10)
- 導(dǎo)入對應(yīng)模塊: 例如:
math標(biāo)準(zhǔn)庫, 使用時需要使用import導(dǎo)入 import math 調(diào)用math標(biāo)準(zhǔn)庫中的函數(shù)時, 需要使用 庫名.函數(shù)名(參數(shù)) 的形式 ceil(num): 向上取整函數(shù) print(math.ceil(3.5)) // 打印: 4 floor(num): 向下取整函數(shù) print(math.ceil(3.5)) // 打印: 3 sqrt(num): 開平方函數(shù) print(math.sqrt(4)) // 打印: 2 log(x, base): 求對數(shù)函數(shù) print(math.log(10000, 10)) // 打印: 4
- 隨機(jī)函數(shù)
- 獲取隨機(jī)數(shù)的函數(shù), 需要使用
random
標(biāo)準(zhǔn)庫
# 使用random函數(shù), 需要先導(dǎo)入 random 標(biāo)準(zhǔn)庫 import random # random(): 獲取 [0, 1) 范圍內(nèi)的小數(shù) random.random() # choice(seq): 從一個序列中, 隨機(jī)挑選一個數(shù)值 list = [1, 3, 5, 6, 7, 8] random.choice(list) # uniform(x, y): 獲取 [x, y] 范圍內(nèi)的隨機(jī)小數(shù) random.uniform(1, 3) # randint(x, y): 獲取[x, y] 范圍內(nèi)的隨機(jī)整數(shù) random.randint(3, 10) # randrange(start, stop=None, step=1): 給定區(qū)間內(nèi)的一隨機(jī)整數(shù), [start, stop) randrange(1, 20) # 獲取 [1, 20) 范圍內(nèi)的隨機(jī)整數(shù) randrange(1, 20, 5) # 獲取 [1, 20) 范圍內(nèi), 步長為5的隨機(jī)整數(shù), 即范圍: 1, 6, 11, 16
- 獲取隨機(jī)數(shù)的函數(shù), 需要使用
- 三角函數(shù)
- 使用三角函數(shù), 需要導(dǎo)入 math 標(biāo)準(zhǔn)庫
import math # sin(x): 正弦, x是一個弧度, 即 角度 / 180 * π, 以下函數(shù)的x意思相同 math.six(math.pi / 4) # pi是math庫中的數(shù)學(xué)常量, π # cos(x): 余弦 # tan(x): 正切 # asin(x): 反正弦 # acos(x): 反余弦 # atan(x): 反正切 # degrees(x): 弧度 -> 角度 # radians(x): 角度 -> 弧度
- 數(shù)學(xué)常量
- 數(shù)學(xué)中的常量, 比如 π, 一個固定的值
- 注意: 由于Python中只有變量, 沒有常量, 所以我們使用常量時, 就默認(rèn)這個值不會變
二、布爾bool
1. bool
- bool類型的值只有兩個: True 和 False
2. bool是int類型的子類
- Python中有一個函數(shù)
issubclass(x, y)
, 用來判斷x是否是y的子類, 返回值是bool類型
result = issubclass(bool, int)
打印: True, 即bool使int的子類, 擁有int特性
3. 應(yīng)用場景
- 當(dāng)做int類型進(jìn)行運(yùn)算
num1 = True + 2
print(num1) 打印: 3, 所以True參與運(yùn)算時, 會被當(dāng)做整數(shù) 1
num2 = False + 2
print(num2) 打印: 2, 所以False參與運(yùn)算時, 會被當(dāng)做整數(shù) 0
-
比較表達(dá)式的運(yùn)算結(jié)果
- 一個比較表達(dá)式, 其結(jié)果是一個bool類型, 即真或者假, 也就是相等或不相等
可以用于 if判斷條件 和 while循環(huán)條件