导航菜单

  • 1.Python介绍
  • 2.Python解释器
  • 3.安装Python
  • 4.VSCode开发Python
  • 5.print
  • 6.进制
  • 7.编码
  • 8.Unicode2UTF8
  • 9.整数类型
  • 10.字符串类型
  • 11.布尔类型
  • 12.变量与内存
  • 13.浮点类型
  • 14.注释
  • 15.if条件
  • 16.while循环
  • 17.运算符
  • 18.输入
  • 19.列表
  • 20.元组
  • 21.集合
  • 22.字典
  • 23.for循环
  • 6.1 进制的概念
  • 6.2 代码中的进制表示
  • 6.3 进制转换
    • 6.3.1 十进制 → 其他进制字符串
    • 6.3.2 字符串 → 十进制整数
    • 6.3.3 去掉前缀的格式化输出
  • 6.4 常见应用场景
    • 6.4.1 解析颜色值
  • 6.5 项目开发要点

6.1 进制的概念 #

进制规定「逢几进一」。日常用十进制;计算机底层用二进制;项目里最常见的是十六进制——用来表示颜色值、哈希、内存地址等,写法比一长串 0/1 更短。

进制 规则 项目中的用途
十进制 逢十进一 日常计算、业务数值
二进制 逢二进一 底层存储、位运算
十六进制 逢十六进一 颜色代码、ID、调试输出

八进制(0o)在 Linux 文件权限等场景偶尔出现,日常 Web/后端开发很少用到。

6.2 代码中的进制表示 #

dec_num = 100       # 十进制(默认)
bin_num = 0b1100100 # 二进制,值为 100
hex_num = 0x64      # 十六进制,值为 100

print(dec_num, bin_num, hex_num)  # 100 100 100(打印时统一为十进制)

6.3 进制转换 #

6.3.1 十进制 → 其他进制字符串 #

num = 255
print(bin(num))   # 0b11111111
print(hex(num))   # 0xff

6.3.2 字符串 → 十进制整数 #

int(字符串, base) 用于解析十六进制、二进制等字符串,读接口或配置文件时很常见。

print(int("ff", 16))        # 255
print(int("11111111", 2)) # 255
print(int("0xFF", 16))    # 带 0x 前缀也可以

6.3.3 去掉前缀的格式化输出 #

日志或接口里常需要无前缀的十六进制,用 f-string 最方便:

num = 42
print(f"{num:x}")   # 2a(小写十六进制)
print(f"{num:X}")   # 2A(大写)
print(f"{num:b}")   # 101010(二进制)

6.4 常见应用场景 #

6.4.1 解析颜色值 #

前端/CSS 中的 #FF0000 可用 int(..., 16) 拆成 RGB:

red_hex = "#FF0000"
r = int(red_hex[1:3], 16)   # 255
g = int(red_hex[3:5], 16)   # 0
b = int(red_hex[5:7], 16)   # 0
print(f"RGB: ({r}, {g}, {b})")

6.5 项目开发要点 #

  1. 代码里写十六进制用 0x 前缀,写二进制用 0b 前缀
  2. 解析外部传入的十六进制字符串用 int(s, 16),不要手写换算
  3. 输出无前缀十六进制用 f"{n:x}",比 hex(n)[2:] 更清晰
  4. 业务逻辑统一用十进制整数运算;进制转换主要用于展示、协议和调试
← 上一节 5.print 下一节 7.编码 →

访问验证

请输入访问令牌

Token不正确,请重新输入