tft每日頭條

 > 圖文

 > python概念知識點筆記

python概念知識點筆記

圖文 更新时间:2025-02-09 09:41:13

python概念知識點筆記?前面我們簡單地介紹了python的曆史、為什麼要學python,python的開發環境的安裝,這一節我們來介紹一些基本概念,接下來我們就來聊聊關于python概念知識點筆記?以下内容大家不妨參考一二希望能幫到您!

python概念知識點筆記(python系列課程之基本概念)1

python概念知識點筆記

前面我們簡單地介紹了python的曆史、為什麼要學python,python的開發環境的安裝,這一節我們來介紹一些基本概念。

進制轉換

什麼是進制呢,學過計算機基礎的,大家對這個概念應該不陌生。進制數也就是進位計數制數,是人為定義的帶進位的計數方法。 對于任何一種進制,就表示每一位置上的數運算時都是逢X進一位。 十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一,以此類推,x進制就是逢x進位;其中可以使用數字符号的數目稱為基數,基數為n就稱為n進制。舉個簡單的例子,生活中我們使用的是十進制用數字0-9表示,共計10個數字,故稱作十進制,逢10就向上進一位

上面講了生活中我們用十進制來進行計算,那麼計算機通信則是采用二進制,顧名思義二進制用兩個數字表示(0和1),逢二進一。

根據以上原則16進制,應該由16個數字和符号表示的,數字世界都是由0-9組成,那麼超過數字9怎麼辦呢,聰明的人類想了一個辦法,用大寫的A、B、C。。。字母表示。因此16進制,就用0-9和A-F表示,共計16個基數,即A表示16進制的10,F表示16進制的15,超過部分向上進一,如16進制的16則表示為10。

pyhon語言中用以下方式表示進制:

  • 二進制:以0b表示,如0b10,轉換成十進制就是2
  • 八進制:以0o表示,如0o10,轉換為十進制就是8
  • 十進制:默認
  • 十六進制:以0x表示,如0xF,轉換為十進制就是15

python語言中的進制轉換:

#将十進制數字12使用bin内置函數可以将數字轉換成二進制 print(bin(12)) # 0b1100 # 将十進制數字12使用oct内置函數可以将數字轉換成八進制 print(oct(12)) # 0o14 # 将十進制數字12使用hex内置函數可以将數字轉換成十六進制 print(hex(12)) # 0xc #使用内置函數eval,将其他進制轉為十進制,注意裡面寫字符串,輸出的是int類型 a = eval('0b1100100') # 二進制轉化為十進制 b = eval('0o1102') # 八進制轉化為十進制 c = eval('0xAD') # 十六進制轉化為十進制 #也可以使用int()将其他進制轉化為十進制 a1 = int('1100100', 2) # 二進制轉化為十進制,2可以寫成0 b1 = int('1102', 8) # 八進制轉化為十進制 c1 = int('AD', 16) # 十六進制轉化為十進制

編碼

什麼是編碼呢,在計算機曆史的早期,以美國為代表的英語系國家主導了整個計算機行業,26個英文字母組成了多樣的英語單詞、語句、文章。因此,最早的字符編碼規範是ASCII碼,一種8位即1個字節的編碼規範,它可以涵蓋整個英語系的編碼需要。編碼就是把一個字符串用二進制表示,計算機在存儲和讀取的過程中,處理的都是010101這樣的二進制比特流。

後來随着計算機的大量普及,中、日、韓等國家的文字在計算機内表示,ASCII的255位遠遠不夠,于是标準組織就制定了叫做Unicode的萬國碼,他規定任何一個字符至少以2個字節表示,例如英文字母用2個字節表示,而漢字就用3個字節表示。這種編碼雖好,滿足了所有文字的要求,但是他不兼容ASCII,同時還占用最多的内存空間,英文字母明明1個字節就能表示,非要用2個,于是UTF-8編碼應用而生,它規定英文字母系列用1個字節表示,漢字用3個字節表示等等。因此,它兼容ASCII,可以解碼早期的文檔。UTF-8很快就得到了廣泛的應用。

在編碼的發展曆程中,我國還創造了自己的編碼方式,例如GBK,GB2312,BIG5。他們隻局限于在國内使用,不被國外認可。在GBK編碼中,中文漢字占2個字節。

python2.7和python3在字符編碼上存在的差異
  • python2.7中默認編碼是與開發環境所有的操作系統保持一直的,windows是GBK,macOS是uft8,linux是utf8
  • python3中則統一采用Unicode編碼
python3中str和bytes的區别
  • 與python2.7不同的是,python3對字符串和二進制數據做了明确的區分。文本總是Unicode,由str(字符串)類型表示,音頻、視頻等二進制數據則由bytes類型表示。
  • 編碼為Unicode的文本顯示為str,其他編碼(gbk,utf8,ASCII等)顯示為bytes(16進制方式表示)
  • 在python3中encode和decode都是相對于Unicode而言的
  1. encode方法是str數據類型擁有的方法,将Unicode編碼數據轉為其他編碼,作為新對象返回
  2. decode方式是bytes數據類型擁有的方法,将其他編碼數據解碼為Unicode編碼,作為新對象返回

字符編碼表示:b代表bytes類型,x代表編碼是16進制的,u表示編碼是Unicode的

s='中文' # 将s轉為Unicode編碼(16進制) print(s.encode('unicode-escape')) #b'\\u4e2d\\u6587' s1=b'\\u4e2d\\u6587' # 将16進制的Unicode解碼為中文 print(s1.decode('unicode-escape')) #中文 # 将s轉為GBK編碼(16進制) print(s.encode('gbk')) #b'\xd6\xd0\xce\xc4' s1=b'\xd6\xd0\xce\xc4' # 将16進制的gbk解碼為中文 print(s1.decode('gbk')) #中文 # 将s轉為utf-8編碼(16進制) print(s.encode('utf-8')) #b'\xe4\xb8\xad\xe6\x96\x87' s1=b'\xe4\xb8\xad\xe6\x96\x87' # 将16進制的gbk解碼為中文 print(s1.decode('utf-8')) #中文

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved