Python编程——从16进制入门

一、什么是16进制?

在计算机中,16进制是一种常用的数字表示方式。它是以16为基数,使用0至9和A至F共计16个符号来表示数码。其中,A~F表示10~15,这样做可以有效压缩数字的长度,节约存储空间。在16进制中,每个数字的位权分别为16的0次方、16的1次方、16的2次方……以此类推。

在Python中,我们可以使用多种方法将16进制数转换为十进制数。比如,使用int()函数将16进制字符串转换成整数,同时指定字符串是16进制:

hex_str = '4D5'
dec_num = int(hex_str, 16)
print(dec_num)

输出结果为:

1237

二、Python中16进制的应用

1. 运算符

在Python中,我们可以使用16进制进行位运算。如下表所示,共有6个位运算符。

运算符 描述 示例
& 按位与 0xC3 & 0x3F=0x03
| 按位或 0x60 | 0x1F=0x7F
^ 按位异或 0x5E ^ 0x3F=0x61
~ 按位取反 ~0x5E=0xA1
<< 左移 0x0E << 2=0x38
>> 右移 0xE0 >> 2=0x38

2. 字符串操作

在Python中,字符串可以通过hex()函数转换为16进制格式。例如,将字符串”Hello World”转换为16进制格式的字符串:

string = "Hello World"
output = ''.join(format(ord(x), '02x') for x in string)
print(output)

输出结果为:

48656c6c6f20576f726c64

同时,我们也可以将16进制格式的字符串转换为字符串。例如,将16进制格式的字符串”48656c6c6f20576f726c64″转换为原始字符串:

hex_string = "48656c6c6f20576f726c64"
output = bytes.fromhex(hex_string).decode('utf-8')
print(output)

输出结果为:

Hello World

3. 数据存储

在Python中,我们可以使用struct库对二进制数据进行封装和解封装操作。其中,pack()函数可以将数据按照指定的格式打包成字节序列,而unpack()函数可以将字节序列解封装成原始数据。在使用pack()函数时,可以使用两个字符的格式代码来指定数据类型,如下表所示。

格式代码 数据类型
x 空字节
b/B 有符号/无符号字节型整数
h/H 有符号/无符号短整型
i/I 有符号/无符号整型
q/Q 有符号/无符号长整型
f 单精度浮点数
d 双精度浮点数
s 字符串

例如,使用pack()函数将数字1、2和3以16进制格式打包成一个字节序列:

import struct

packed_data = struct.pack('BBB', 1, 2, 3)
print(packed_data.hex())

输出结果为:

010203

同时,我们也可以使用unpack()函数将字节序列解封装成原始数据。例如,解封装刚才打包的字节序列:

unpacked_data = struct.unpack('BBB', packed_data)
print(unpacked_data)

输出结果为:

(1, 2, 3)

三、总结

在Python编程中,16进制是一种常用的数字表示方式,可以在位运算、字符串操作和数据存储中发挥重要作用。在实际应用中,我们常需要将十进制数转换成16进制数或者将16进制数转换成十进制数,使用Python的内置函数可以轻松实现这一功能。同时,我们通过代码示例介绍了Python中使用16进制进行位运算、字符串操作和数据存储的方法。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/195933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-02 20:38
下一篇 2024-12-02 20:38

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29

发表回复

登录后才能评论