機(jī)器碼,學(xué)名機(jī)器語(yǔ)言指令,有時(shí)也被稱為原生碼,是電腦的CPU可直接解讀的數(shù)據(jù)。
字節(jié)碼是一種中間狀態(tài)(中間碼)的二進(jìn)制代碼(文件)。需要直譯器轉(zhuǎn)譯后才能成為機(jī)器碼。
什么是機(jī)器碼
機(jī)器碼(machinecode),學(xué)名機(jī)器語(yǔ)言指令,有時(shí)也被稱為原生碼(NativeCode),是電腦的CPU可直接解讀的數(shù)據(jù)。
通常意義上來(lái)理解的話,機(jī)器碼就是計(jì)算機(jī)可以直接執(zhí)行,并且執(zhí)行速度最快的代碼。
總結(jié):機(jī)器碼是電腦CPU直接讀取運(yùn)行的機(jī)器指令,運(yùn)行速度最快,但是非?;逎y懂,也比較難編寫
什么是字節(jié)碼
字節(jié)碼(Bytecode)是一種包含執(zhí)行程序、由一序列op代碼/數(shù)據(jù)對(duì)組成的二進(jìn)制文件。字節(jié)碼是一種中間碼,它比機(jī)器碼更抽象,需要直譯器轉(zhuǎn)譯后才能成為機(jī)器碼的中間代碼。
總結(jié):字節(jié)碼是一種中間狀態(tài)(中間碼)的二進(jìn)制代碼(文件)。需要直譯器轉(zhuǎn)譯后才能成為機(jī)器碼。
-----------
#is比較的是內(nèi)存地址
#==比較的是值
#int具有范圍:-5---256
#對(duì)于int小數(shù)據(jù)池
范圍:-5----256創(chuàng)建的相間的數(shù)字,都指向同一個(gè)內(nèi)存地址
#對(duì)于字符串(面試)
1、小數(shù)據(jù)池如果有空格,那指向兩個(gè)內(nèi)存地址,
2、長(zhǎng)度不能超過(guò)20
3、不能用特殊字符
i='a'*20
j='a'*20
print(iisj)#True
i="a"*21
j="a"*21
print(iisj)#False
關(guān)于編碼所占字節(jié)
unicode:所有字符(無(wú)論英文、中文等)1個(gè)字符:2個(gè)字節(jié)
gbk:一個(gè)字符,英文1個(gè)字節(jié),中文兩個(gè)字節(jié)
utf-8:英文1個(gè)字節(jié)、歐洲:2個(gè)字節(jié),亞洲:3個(gè)字節(jié)
在utf-8中,一個(gè)中文字符占用3個(gè)字節(jié)
在gbk中一個(gè)漢字占用2個(gè)字節(jié)
黎詩(shī)=utf-8(6字節(jié))=48
黎詩(shī)=gbk(4字節(jié))=32
字節(jié)和位的關(guān)系。
#一個(gè)字節(jié)(byte)=8位(bit)
#位為最小的單位
簡(jiǎn)述變量命名規(guī)范
#1、以字母,數(shù)字,下劃線任由結(jié)合
#2、不能以命名太長(zhǎng),不使用拼音,中文
#3、不能以數(shù)字開(kāi)頭
#4、不能用關(guān)鍵詞
以上內(nèi)容為大家介紹了python字節(jié)碼和機(jī)器碼的區(qū)別,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。