Python数据类型转换实现方法

 更新时间:2022年12月08日 16:46:57   作者:小虾仁芜湖  
这篇文章主要介绍了Python数据类型转换的实现,有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可

基本类型转换

python3与python2通用函数:

int('123456',10) # 转换为指定进制的整数
hex(123456) # 整数转换为16进制串,转换后类型为字符串
bin(123) # 整数转换为2进制串
oct(123) # 整数转换为8进制串

python2专用函数:

'abcd'.encode('hex') # 字符串转换为16进制串,对应字符的ascii码
'61626364'.decode('hex') # ascii码转换为对应的字符串

特别注意:python3比python2多了个字节的数据类型,python3字节专用函数:

# 字符串转字节
bytes('str',encoding='utf8')
'str'.encode(encoding='utf8')
# 字节转字符串
str(b'byte',encoding='utf8')
b'str'.decode(encoding='utf8')

python中的C语言数据类型

使用第三方库 numpy:

import numpy as np
a = np.int32(0xffffffff)  # 会报错,超范围了
b = np.uint32(0xffffffff)
print a,b

使用 ctypes 库:

from ctypes import *
a = c_uint32(0xfffffff).value
b = c_int32(0xffffffff).value # 显示为 -1
print a,b

推荐使用ctypes,numpy在超过整数范围时不能强制类型转换

python中的struct库

在程序中,输入的多个字符可以被当作一个 WORD 或者 DWORD 甚至 QWORD 的类型进行运算,运算结果放到内存再逐字节取出来!针对这种情况,struct库可以帮我们把几个字符打包成一个整数,或者将一个整数解包成几个字符,还能定义大小端模式!简言之,就是能把所使用的数据转换成在内存中存储的形式

常用到的一些格式字符

b char 1 B uchar 1 h short 2 H ushort 2 i int 4 I uint 4 l long 4 L ulong 4 q longlong 8 Q ulonglong 8 f float 4 d double 8 < 小端模式;> 大端模式;默认小端模式

使用方法:

from struct import *
a = 0x41424344
b = 0x6162
c = 0x66
print pack('<IHb',a,b,c)
print unpack('<IHb','DCBAbaf')[0]

python中的binascii库

在 python2 中有encode('hex')函数可以快速将字符串转换为对应 ascii 码的16进制数,在 python3 中只有借助binascii才能实现类似功能!

import binascii
binascii.hexlify(str) # 字符串转16进制串
binascii.unhexlify(hex_str) # 16进制串转字符串

python中的libnum神器

这个库的强大之处在于:可以直接将任意进制整数转换为字符串 常用的一些函数:

# Encoding=UTF-8
from libnum import *
s2n(str) # 字符串转整数
n2s(n) # 整数转字符串,任意进制数也能直接转,它会先把任意进制数转成16进制数
s2b(str) # 字符串转2进制位串
b2s(bin) # 2进制位串转字符串

到此这篇关于Python数据类型转换实现方法的文章就介绍到这了,更多相关Python数据类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • opencv 查找连通区域 最大面积实例

    opencv 查找连通区域 最大面积实例

    这篇文章主要介绍了opencv 查找连通区域 最大面积实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 如何在Flask中实现数据分组流程详解

    如何在Flask中实现数据分组流程详解

    在Flask中,数据分组是指将一组数据按照某种方式进行分类,以便更好地对数据进行处理和展示,可以使用Python内置的itertools模块中的groupby方法,或者使用SQL语句中的GROUP BY子句来实现数据分组,这篇文章介绍了在Flask中实现数据分组,感兴趣的同学可以参考下文
    2023-05-05
  • 写好Python代码的几条重要技巧

    写好Python代码的几条重要技巧

    好的代码具有易理解、可扩展、易维护的特点,简直是人见人爱。本文就将介绍写好python代码的多个技巧
    2021-05-05
  • python实现各进制转换的总结大全

    python实现各进制转换的总结大全

    这篇文章主要给大家总结了python实现各进制转换的相关资料,其中包括字符串与十六进制转换、内置函数hex()与进制互转等相关内容,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • 利用python开发app实战的方法

    利用python开发app实战的方法

    这篇文章主要介绍了利用python开发app实战的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 利用Python校准本地时间的方法教程

    利用Python校准本地时间的方法教程

    这篇文章主要给大家介绍了关于如何利用Python校准本地时间的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • 详解如何修改jupyter notebook的默认目录和默认浏览器

    详解如何修改jupyter notebook的默认目录和默认浏览器

    这篇文章主要介绍了详解如何修改jupyter notebook的默认目录和默认浏览器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • python热力图实现的完整实例

    python热力图实现的完整实例

    热力图的使用场景有描述数据在空间的密集程度,常见有城市热力图、区域热力图,描述多个变量之间相关性高低程度,这篇文章主要给大家介绍了关于python热力图实现的相关资料,需要的朋友可以参考下
    2022-06-06
  • python处理圆角图片、圆形图片的例子

    python处理圆角图片、圆形图片的例子

    最近因为工作需要,需要处理图片,一种是头像的方形图片处理成圆行的,一种是方形图片的4角变得椭圆点
    2014-04-04
  • Python web框架(django,flask)实现mysql数据库读写分离的示例

    Python web框架(django,flask)实现mysql数据库读写分离的示例

    这篇文章主要介绍了Python web框架(django,flask)实现mysql数据库读写分离的示例,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11

最新评论