一、Python 核心數據類型
1. 基本數據類型
|
類型
|
描述
|
示例
|
常用操作
|
|
整數(int)
|
任意大小整數,支持正負、0
|
|
算術運算( |
|
浮點數(float)
|
帶小數的數字(雙精度)
|
|
同整數運算(注意浮點數精度問題,如 |
|
布爾值(bool)
|
邏輯值,僅 |
|
邏輯運算( |
|
複數(complex)
|
實部 + 虛部( |
|
運算( |
2. 序列類型(有序、可索引)
|
類型
|
描述
|
示例
|
核心操作
|
|
字符串(str)
|
字符序列,單 / 雙 / 三引號包裹
|
|
切片( |
|
列表(list)
|
可變序列,元素可重複、類型任意
|
|
增( |
|
元組(tuple)
|
不可變序列,元素可重複、類型任意
|
|
切片( |
3. 集合與映射類型(無序)
|
類型
|
描述
|
示例
|
核心操作
|
|
|
集合(set)
|
無序、不重複元素集合,用於去重 / 交集等
|
|
增( |
` 並集)
|
|
字典(dict)
|
鍵值對集合(Python 3.7+ 有序)
|
|
增( |
4. 特殊類型
None:表示空值,常用於函數返回值、變量初始化(如x = None)- 字節串(bytes):二進制數據,如
b"hello"(用於文件 / 網絡傳輸)
二、Python 進制轉換(核心場景)
1. 基礎函數説明
|
函數
|
功能
|
示例
|
|
|
十進制 → 二進制(返回帶 |
|
|
|
十進制 → 八進制(返回帶 |
|
|
|
十進制 → 十六進制(返回帶 |
|
|
|
n 進制字符串 → 十進制整數(base 可選,默認 10)
|
|
2. 常用進制轉換示例
(1)十進制 ↔ 其他進制
python運行
# 十進制 → 二進制/八進制/十六進制
dec = 25
bin_str = bin(dec) # '0b11001'
oct_str = oct(dec) # '0o31'
hex_str = hex(dec) # '0x19'
# 其他進制 → 十進制(關鍵:用 int() 指定 base)
bin_to_dec = int('11001', 2) # 25(二進制字符串轉十進制)
oct_to_dec = int('31', 8) # 25(八進制字符串轉十進制)
hex_to_dec = int('19', 16) # 25(十六進制字符串轉十進制)
hex_to_dec2 = int('0x19', 16) # 25(帶前綴也可識別)
(2)非十進制之間直接轉換(間接通過十進制中轉)
python運行
# 二進制 → 十六進制(二進制→十進制→十六進制)
bin_str = '11001'
dec = int(bin_str, 2) # 25
hex_str = hex(dec) # '0x19'
# 十六進制 → 二進制(十六進制→十進制→二進制)
hex_str = '0xff'
dec = int(hex_str, 16) # 255
bin_str = bin(dec) # '0b11111111'
(3)去除進制前綴(如 0b/0x)
python運行
bin_str = bin(10) # '0b1010'
pure_bin = bin_str[2:] # '1010'(切片去除前2個字符)
hex_str = hex(255) # '0xff'
pure_hex = hex_str.lstrip('0x') # 'ff'
(4)補零操作(固定位數)
python
運行
# 二進制補零到 8 位
bin_str = bin(5)[2:] # '101'
fixed_bin = bin_str.zfill(8) # '00000101'
# 十六進制補零到 2 位
hex_str = hex(3)[2:] # '3'
fixed_hex = hex_str.zfill(2) # '03'
# 格式化字符串更靈活(推薦)
fixed_bin2 = f"{5:08b}" # '00000101'(:08b 表示8位二進制,不足補0)
fixed_hex2 = f"{3:02x}" # '03'(:02x 表示2位十六進制,不足補0)
3. 常見問題與注意事項
- int () 轉換要求:輸入的字符串必須是目標進制的合法字符(如二進制只能是
0/1,十六進制只能是0-9/a-f/A-F),否則報錯ValueError。python運行
int('12', 2) # 報錯!二進制中不能有 '2'
- 浮點數進制轉換:需先轉整數(如
int(3.14)),再進行進制轉換,否則報錯。 - 大小寫兼容:十六進制的
a-f和A-F均可,int('0XFF', 16)與int('0xff', 16)結果一致。
三、總結