Python數(shù)據(jù)類型轉(zhuǎn)換實(shí)現(xiàn)方法
基本類型轉(zhuǎn)換
python3與python2通用函數(shù):
int('123456',10) # 轉(zhuǎn)換為指定進(jìn)制的整數(shù)
hex(123456) # 整數(shù)轉(zhuǎn)換為16進(jìn)制串,轉(zhuǎn)換后類型為字符串
bin(123) # 整數(shù)轉(zhuǎn)換為2進(jìn)制串
oct(123) # 整數(shù)轉(zhuǎn)換為8進(jìn)制串
python2專用函數(shù):
'abcd'.encode('hex') # 字符串轉(zhuǎn)換為16進(jìn)制串,對(duì)應(yīng)字符的ascii碼
'61626364'.decode('hex') # ascii碼轉(zhuǎn)換為對(duì)應(yīng)的字符串
特別注意:python3比python2多了個(gè)字節(jié)的數(shù)據(jù)類型,python3字節(jié)專用函數(shù):
# 字符串轉(zhuǎn)字節(jié)
bytes('str',encoding='utf8')
'str'.encode(encoding='utf8')
# 字節(jié)轉(zhuǎn)字符串
str(b'byte',encoding='utf8')
b'str'.decode(encoding='utf8')python中的C語(yǔ)言數(shù)據(jù)類型
使用第三方庫(kù) numpy:
import numpy as np a = np.int32(0xffffffff) # 會(huì)報(bào)錯(cuò),超范圍了 b = np.uint32(0xffffffff) print a,b
使用 ctypes 庫(kù):
from ctypes import * a = c_uint32(0xfffffff).value b = c_int32(0xffffffff).value # 顯示為 -1 print a,b
推薦使用ctypes,numpy在超過(guò)整數(shù)范圍時(shí)不能強(qiáng)制類型轉(zhuǎn)換
python中的struct庫(kù)
在程序中,輸入的多個(gè)字符可以被當(dāng)作一個(gè) WORD 或者 DWORD 甚至 QWORD 的類型進(jìn)行運(yùn)算,運(yùn)算結(jié)果放到內(nèi)存再逐字節(jié)取出來(lái)!針對(duì)這種情況,struct庫(kù)可以幫我們把幾個(gè)字符打包成一個(gè)整數(shù),或者將一個(gè)整數(shù)解包成幾個(gè)字符,還能定義大小端模式!簡(jiǎn)言之,就是能把所使用的數(shù)據(jù)轉(zhuǎn)換成在內(nèi)存中存儲(chǔ)的形式
常用到的一些格式字符
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 < 小端模式;> 大端模式;默認(rèn)小端模式
使用方法:
from struct import *
a = 0x41424344
b = 0x6162
c = 0x66
print pack('<IHb',a,b,c)
print unpack('<IHb','DCBAbaf')[0]
python中的binascii庫(kù)
在 python2 中有encode('hex')函數(shù)可以快速將字符串轉(zhuǎn)換為對(duì)應(yīng) ascii 碼的16進(jìn)制數(shù),在 python3 中只有借助binascii才能實(shí)現(xiàn)類似功能!
import binascii binascii.hexlify(str) # 字符串轉(zhuǎn)16進(jìn)制串 binascii.unhexlify(hex_str) # 16進(jìn)制串轉(zhuǎn)字符串
python中的libnum神器
這個(gè)庫(kù)的強(qiáng)大之處在于:可以直接將任意進(jìn)制整數(shù)轉(zhuǎn)換為字符串 常用的一些函數(shù):
# Encoding=UTF-8 from libnum import * s2n(str) # 字符串轉(zhuǎn)整數(shù) n2s(n) # 整數(shù)轉(zhuǎn)字符串,任意進(jìn)制數(shù)也能直接轉(zhuǎn),它會(huì)先把任意進(jìn)制數(shù)轉(zhuǎn)成16進(jìn)制數(shù) s2b(str) # 字符串轉(zhuǎn)2進(jìn)制位串 b2s(bin) # 2進(jìn)制位串轉(zhuǎn)字符串
到此這篇關(guān)于Python數(shù)據(jù)類型轉(zhuǎn)換實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)類型轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解Python中數(shù)據(jù)類型的轉(zhuǎn)換
- Python變量和數(shù)據(jù)類型和數(shù)據(jù)類型的轉(zhuǎn)換
- python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運(yùn)算符方式
- 詳解Python數(shù)據(jù)類型、進(jìn)制轉(zhuǎn)換、字符串格式化的問(wèn)題
- Python 轉(zhuǎn)換數(shù)據(jù)類型函數(shù)和轉(zhuǎn)換數(shù)據(jù)類型的作用
- Python數(shù)據(jù)類型轉(zhuǎn)換匯總
- Python數(shù)據(jù)類型轉(zhuǎn)換詳解
- python 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的總結(jié)
- Python如何實(shí)現(xiàn)強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換
- Python常用數(shù)據(jù)類型之間的轉(zhuǎn)換總結(jié)
- Python數(shù)據(jù)類型相互轉(zhuǎn)換
相關(guān)文章
如何在Flask中實(shí)現(xiàn)數(shù)據(jù)分組流程詳解
在Flask中,數(shù)據(jù)分組是指將一組數(shù)據(jù)按照某種方式進(jìn)行分類,以便更好地對(duì)數(shù)據(jù)進(jìn)行處理和展示,可以使用Python內(nèi)置的itertools模塊中的groupby方法,或者使用SQL語(yǔ)句中的GROUP?BY子句來(lái)實(shí)現(xiàn)數(shù)據(jù)分組,這篇文章介紹了在Flask中實(shí)現(xiàn)數(shù)據(jù)分組,感興趣的同學(xué)可以參考下文2023-05-05
python實(shí)現(xiàn)各進(jìn)制轉(zhuǎn)換的總結(jié)大全
這篇文章主要給大家總結(jié)了python實(shí)現(xiàn)各進(jìn)制轉(zhuǎn)換的相關(guān)資料,其中包括字符串與十六進(jìn)制轉(zhuǎn)換、內(nèi)置函數(shù)hex()與進(jìn)制互轉(zhuǎn)等相關(guān)內(nèi)容,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-06-06
利用python開(kāi)發(fā)app實(shí)戰(zhàn)的方法
這篇文章主要介紹了利用python開(kāi)發(fā)app實(shí)戰(zhàn)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
利用Python校準(zhǔn)本地時(shí)間的方法教程
這篇文章主要給大家介紹了關(guān)于如何利用Python校準(zhǔn)本地時(shí)間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
詳解如何修改jupyter notebook的默認(rèn)目錄和默認(rèn)瀏覽器
這篇文章主要介紹了詳解如何修改jupyter notebook的默認(rèn)目錄和默認(rèn)瀏覽器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
python熱力圖實(shí)現(xiàn)的完整實(shí)例
熱力圖的使用場(chǎng)景有描述數(shù)據(jù)在空間的密集程度,常見(jiàn)有城市熱力圖、區(qū)域熱力圖,描述多個(gè)變量之間相關(guān)性高低程度,這篇文章主要給大家介紹了關(guān)于python熱力圖實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2022-06-06
Python web框架(django,flask)實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)讀寫(xiě)分離的示例
這篇文章主要介紹了Python web框架(django,flask)實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)讀寫(xiě)分離的示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-11-11

