Python中的进制转换详解

 更新时间:2023年08月07日 10:29:31   作者:Cheers711  
这篇文章主要介绍了Python中的进制转换详解,python内置函数进行进制转换的原理是将读入的一个字符串(python默认读入的都是字符串形式)转为10进制,然后再用相关函数进行其他进制转换,需要的朋友可以参考下

Pytdon 进制转换

Pytdon为我们提供了强大的内置函数和格式化数字的方法去实现进制转换的功能,下面一一介绍。

先将所有的函数罗列出来,如下:

2进制8进制10进制16进制
2进制-bin(int(n,8))bin(int(n,10))bin(int(n,16))
8进制oct(int(n,2))-oct(int(n,10))oct(int(n,16))
10进制int(n,2) int(n,8)-int(n,16)
16进制hex(int(n,2))hex(int(n,8))hex(int(n,10))-

下面来逐一介绍每个函数的具体使用方法:

2进制转换成其他进制:

2进制转换成8进制:oct(int(n,2))

输入: 1010

输出: 0o12

2进制转换成10进制:int(n,2)

n=input()
print(int(n,2))

输入:1010

输出:10

2进制转换成16进制:hex(int(n,2))

n=input()
print(hex(int(n,2)))

输入:1010

输出:0xa

8进制转换成其他进制:

8进制转换成2进制:bin(int(n,8))

n=input()
print(bin(int(n,8)))

输入:1010

输出:0b1000001000

8进制转换成10进制:int(n,8)

n=input()
print(int(n,8))

输入:1010

输出:520

8进制转换成16进制:hex(int(n,16))

n=input()
print(hex(int(n,8)))

输入:1010

输出:0x208

10进制转换成其他进制:

说明:10进制转换可以直接采取上述表格中的形式,读入字符串,先转换为10进制的数,再用函数进行操作转换成其他进制。

但同时可以这样操作,读入的时候直接进行强制类型转换操作,转为int类型(pytdon中的int类型的数据就是10进制)

10进制转换成2进制:bin(n)

n=int(input())
print(bin(n))

输入:10

输出:0b1010

10进制转换成8进制:oct(n)

n=int(input())
print(oct(n))

输入:10

输出:0o12

10进制转换成16进制:hex(n)

n=int(input())
print(hex(n))

输入:10

输出:0xa

16进制转换成其他进制:

16进制转换成2进制:bin(int(n,16))

n=input()
print(bin(int(n,16)))

输入:a

输出:0b1010

16进制转换成8进制:oct(int(n,16))

n=input()
print(oct(int(n,16)))

输入:a

输出:0o12

16进制转换成10进制:int(n,16)

n=input()
print((int(n,16)))

输入:a

输出:10

注意:我们可以发现,除了转换成10进制的数,其他的进制转换结果都带有前缀,2进制是0b,8进制是0o,16进制是0x。

但是我们在绝大部分使用进制转换后的数据时,是不需要它的前缀的。

所以笔者这里介绍两种方法,去掉它的前缀。

去掉前缀的方法

方法一:使用字符串切片操作

原理:就是将进制转换后得到的结果对其进行字符串切片操作,将得到的结果从第三个字符开始取结果即可,这样我们可以得到不带前缀的结果

举例:

//10进制转换成2进制
n=int(input())
print(bin(n)[2:])//切片操作

输入:10

输出:1010

//10进制转换成8进制
n=int(input())
print(oct(n)[2:])//切片操作

输入:10

输出:12

//10进制转换成16进制
n=int(input())
print(hex(n)[2:])//切片操作

输入:10

输出:a

笔者这里以10进制转换其他进制进行了举例,其他的情况类比即可。

方法二:使用format函数进行格式化数字操作

说明:首先,笔者在前面说过,不同类型的进制转换的原理时先转换为十进制,然后再用相关的函数进行禁止转换操作,而format函数里面有格式化数字的方法可以直接实现进制转换的功能,下面一一介绍:

其他类型转换为2进制: 操作:在format函数的槽中添加一个b 即可实现其他类型对2进制的转换,下面举例说明

n=input()
print("{:b}".format(int(n,8)))
//先将8进制的数转换为10进制,
//然后在format的槽中添加一个b,等价于实现了bin函数的功能
//但是此结果是不带有0b前缀的

输入:1010

输出:1000001000

其他类型转换为8进制:

操作:在format函数的槽中添加一个o 即可实现其他类型对8进制的转换,下面举例说明

n=input()
print("{:o}".format(int(n,16)))
//先将一个16进制数转换为10进制
//然后利用format函数格式化数字方法转换即可

输入:a

输出:12

其他类型转换为16进制: 操作:在format函数的槽中添加一个x 即可实现其他类型对2进制的转换,下面举例说明

n=input()
print("{:x}".format(int(n,8)))
//先将一个8进制的数转换为16进制
//然后原理同上

输入:1010

输出:208

注意:由于转换成10进制本来就是不带前缀的,无需用format格式化数字方法控制

到此这篇关于Python中的进制转换详解的文章就介绍到这了,更多相关Python进制转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Python中魔法方法的使用

    详解Python中魔法方法的使用

    Python的魔法方法,也称为dunder(双下划线)方法,是可以让你对类添加“魔法”的特殊方法。本文主要来和大家聊聊魔法方法的使用,需要的可以参考一下
    2022-12-12
  • Python try-except-else-finally的具体使用

    Python try-except-else-finally的具体使用

    本文主要介绍了Python try-except-else-finally的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • python实现12306抢票及自动邮件发送提醒付款功能

    python实现12306抢票及自动邮件发送提醒付款功能

    本文给大家分享python实现12306抢票及自动邮件发送提醒付款功能,文章没有给大家贴出完整代码,只是技术交流,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-03-03
  • Python Django模板系统详解

    Python Django模板系统详解

    这篇文章主要介绍Django模板系统Django模板系统的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-11-11
  • Python如何基于rsa模块实现非对称加密与解密

    Python如何基于rsa模块实现非对称加密与解密

    这篇文章主要介绍了Python如何基于rsa模块实现非对称加密与解密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python+Sklearn实现异常检测

    Python+Sklearn实现异常检测

    这篇文章主要为大家详细介绍了Python如何利用Sklearn实现异常检测,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以跟随小编一起学习一下
    2022-12-12
  • Python3中bytes类型转换为str类型

    Python3中bytes类型转换为str类型

    Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。这篇文章主要介绍了Python3中bytes类型转换为str类型的相关知识,需要的朋友可以参考下
    2018-09-09
  • python 爬虫请求模块requests详解

    python 爬虫请求模块requests详解

    这篇文章主要介绍了python 爬虫请求模块requests详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Pandas含中文表格对齐输出的几种情况

    Pandas含中文表格对齐输出的几种情况

    今天使用python计算数据相关性,但是发现计算出的表格中间好多省略号,而且也不对齐, 这也太难看了,下面这篇文章主要给大家介绍了关于Pandas含中文表格对齐输出的几种情况,需要的朋友可以参考下
    2023-04-04
  • Python字符串格式化方式

    Python字符串格式化方式

    这篇文章主要介绍了Python字符串格式化方式,字符串格式化在我们的开发过程中被广泛的应用,因此也是我们要重点掌握的内容之一,下文相关介绍,需要的朋友可以参考一下
    2022-04-04

最新评论