Python進(jìn)制轉(zhuǎn)換用法詳解
使用int()轉(zhuǎn)換
int()類可將數(shù)字或字符串轉(zhuǎn)換為整型,調(diào)用方法為:
int(x, base=10)
任意字符數(shù)字轉(zhuǎn)換為10進(jìn)制:
>>> int('55') #字符串轉(zhuǎn)換為十進(jìn)制整型數(shù) 55 >>> int(0b11) #二進(jìn)制轉(zhuǎn)換為十進(jìn)制 3 >>> int(0o11) #八進(jìn)制轉(zhuǎn)換為十進(jìn)制 9 >>> int(0x11) #十六進(jìn)制轉(zhuǎn)換為十進(jìn)制 17
16進(jìn)制轉(zhuǎn)換為10進(jìn)制:int(x,16)
x為傳入的參數(shù),如:
>>> int('aaaa',16) 43690 >>> int('abcdef',16) 11259375
8進(jìn)制轉(zhuǎn)換為10進(jìn)制:int(x,8)
x為傳入的參數(shù),如:
>>> int('12345670',8) 2739128 >>> int('10',8) 8
2進(jìn)制轉(zhuǎn)換為10進(jìn)制:int(x,2)
x為傳入的參數(shù),如:
>>> int('10',2) 2 >>> int('11',2) 3 >>> int('100',2) 4
使用bin(x) ,oct(x) 或hex(x) 轉(zhuǎn)換:
傳入的參數(shù)可以是2,8,16進(jìn)制的,輸出是字符串形式
bin(x)轉(zhuǎn)換為二進(jìn)制:
>>> bin(0b100) #二進(jìn)制轉(zhuǎn)換為二進(jìn)制 '0b100' >>> bin(0o11) #八進(jìn)制轉(zhuǎn)換為二進(jìn)制 '0b1001' >>> bin(11) #十進(jìn)制轉(zhuǎn)換為二進(jìn)制 '0b1011' >>> bin(0xa1) #十六進(jìn)制轉(zhuǎn)換為二進(jìn)制 '0b10100001'
oct(x)轉(zhuǎn)換為八進(jìn)制:
>>> oct(0b11) #二進(jìn)制轉(zhuǎn)換為八進(jìn)制 '0o3' >>> oct(0o77) #八進(jìn)制轉(zhuǎn)換為八進(jìn)制 '0o77' >>> oct(55) #十進(jìn)制轉(zhuǎn)換為八進(jìn)制 '0o67' >>> oct(0xab) #十六進(jìn)制轉(zhuǎn)換為八進(jìn)制 '0o253'
hex(x)轉(zhuǎn)換為十六進(jìn)制:
>>> hex(0b11) #二進(jìn)制轉(zhuǎn)換為十六進(jìn)制 '0x3' >>> hex(0o11) #八進(jìn)制轉(zhuǎn)換為十六進(jìn)制 '0x9' >>> hex(11) #十進(jìn)制轉(zhuǎn)換為十六進(jìn)制 '0xb' >>> hex(0xaa) #十六進(jìn)制轉(zhuǎn)換為十六進(jìn)制 '0xaa'
使用format() 轉(zhuǎn)換
format(x,'b') #將x轉(zhuǎn)換為二進(jìn)制
format(x,'o') #將x轉(zhuǎn)換為八進(jìn)制
format(x,'d') #將x轉(zhuǎn)換為十進(jìn)制
format(x,'x') #將x轉(zhuǎn)換為十六進(jìn)制
x可以是二進(jìn)制,八進(jìn)制,十進(jìn)制,十六進(jìn)制
format(x,'b')轉(zhuǎn)換為二進(jìn)制
>>> format(0b11,'b') #二進(jìn)制轉(zhuǎn)換為二進(jìn)制 '11' >>> format(0o11,'b') #八進(jìn)制轉(zhuǎn)換為二進(jìn)制 '1001' >>> format(11,'b') #十進(jìn)制轉(zhuǎn)換為二進(jìn)制 '1011' >>> format(0x11,'b') #十六進(jìn)制轉(zhuǎn)換為二進(jìn)制 '10001'
format(x,'o')轉(zhuǎn)換為八進(jìn)制
>> format(0b11,'o') #二進(jìn)制轉(zhuǎn)換為八進(jìn)制 '3' >>> format(0o11,'o') #八進(jìn)制轉(zhuǎn)換為八進(jìn)制 '11' >>> format(11,'o') #十進(jìn)制轉(zhuǎn)換為八進(jìn)制 '13' >>> format(0x11,'o') #十六進(jìn)制轉(zhuǎn)換為八進(jìn)制 '21'
format(x,'d')轉(zhuǎn)換為十進(jìn)制
>>> format(0b11,'d') #二進(jìn)制轉(zhuǎn)換為十進(jìn)制 '3' >>> format(0o11,'d') #八進(jìn)制轉(zhuǎn)換為十進(jìn)制 '9' >>> format(11,'d') #十進(jìn)制轉(zhuǎn)換為十進(jìn)制 '11' >>> format(0x11,'d') #十六進(jìn)制轉(zhuǎn)換為十進(jìn)制 '17'
format(x,'x')轉(zhuǎn)換為十六進(jìn)制
>>> format(0b11,'x') #二進(jìn)制轉(zhuǎn)換為十六進(jìn)制 '3' >>> format(0o11,'x') #八進(jìn)制轉(zhuǎn)換為十六進(jìn)制 '9' >>> format(11,'x') #十進(jìn)制轉(zhuǎn)換為十六進(jìn)制 'b' >>> format(0x11,'x') #十六進(jìn)制轉(zhuǎn)換為十六進(jìn)制 '11'
總結(jié)
到此這篇關(guān)于Python進(jìn)制轉(zhuǎn)換用法詳解的文章就介紹到這了,更多相關(guān)Python進(jìn)制轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python如何使用帶有?for?循環(huán)的?Lambda?函數(shù)
這篇文章主要介紹了如何在?Python?中使用帶有?for?循環(huán)的?Lambda?函數(shù),使用?Lambda?函數(shù)配合?for?循環(huán)可以讓代碼變得更加簡潔,但需要注意的是,Lambda?函數(shù)在語法上有一些限制,如果需要更復(fù)雜的邏輯,還需要使用普通函數(shù),感興趣的朋友跟隨小編一起學(xué)習(xí)吧2023-05-05基于wxPython的GUI實現(xiàn)輸入對話框(2)
這篇文章主要為大家詳細(xì)介紹了基于wxPython的GUI實現(xiàn)輸入對話框的第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02Python實現(xiàn)調(diào)用另一個路徑下py文件中的函數(shù)方法總結(jié)
這篇文章主要介紹了Python實現(xiàn)調(diào)用另一個路徑下py文件中的函數(shù)方法,結(jié)合實例形式總結(jié)分析了Python針對不同文件夾中py文件調(diào)用操作的處理技巧與相關(guān)注意事項,需要的朋友可以參考下2018-06-06詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack
這篇文章主要介紹了詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(四):域名系統(tǒng)
當(dāng)我們在上網(wǎng)的時候,通常輸入的是網(wǎng)址,其實這就是一個域名,而我們計算機(jī)網(wǎng)絡(luò)上的計算機(jī)彼此之間只能用IP地址才能相互識別2014-06-06Python詳解argparse參數(shù)模塊之命令行參數(shù)
這篇文章主要介紹了Python詳解argparse參數(shù)模塊之命令行參數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考下面文章詳解2022-07-07Python調(diào)整圖像hue值結(jié)合ImageEnhance庫以實現(xiàn)色調(diào)增強(qiáng)
這篇文章主要介紹了Python調(diào)整圖像hue值結(jié)合ImageEnhance庫以實現(xiàn)色調(diào)增強(qiáng),PIL庫中的ImageEnhance類可用于圖像增強(qiáng),可以調(diào)節(jié)圖像的亮度、對比度、色度和銳度,通過RGB到HSV的變換加調(diào)整可以對圖像的色調(diào)進(jìn)行調(diào)整,需要的朋友可以參考下2023-09-09