加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Python数据类型转换如何实现

发布时间:2023-01-08 12:30:48 所属栏目:MsSql教程 来源:互联网
导读: Python数据类型转换如何实现
本文讲解"Python数据类型转换怎么实现"Mssq类型转换函数,希望能够解决相关问题。
基本类型转换
python3与python2通用函数:
int('123456',10)?#?转换为指定进

Python数据类型转换如何实现

本文讲解"Python数据类型转换怎么实现"Mssq类型转换函数,希望能够解决相关问题。

基本类型转换

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('

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的Pandas显示设置有哪些Python编程技术

本文讲解"python的Pandas显示设置有哪些",希望能够解决相关问题。1. Pandas 显示所有的行和列这应该是我们最常用的显示设置了,总有些时候我们想要看df里有什么东 ...

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!