Python 基礎內容

Python 基礎

整數

可以處理任意大小的數,包括負整數

十六進制數用0x前綴表示

浮點數

科學計數法表示時10可以用e來表示

如:

1.23e9
12.3e8

字符串

如果串內既包含‘又包含“,可用轉義字符\來標識

'I\'m \"OK\"'
#輸出結果:
#I'm OK

\n換行

\t製表符

\\爲\

#'''...'''的格式可以表示多行內容
'''
123
456
789
'''
#輸出
#123
#456
#789

布爾值

TrueFalse

可以用andornot運算

數字0表示False

除0外其他數字表示Ture

空值

None表示空值

None不能理解爲0

變量

變量名必須是大小寫英文、數字和下劃線__的組合,且不能用數字開頭

同一個變量可以反覆賦值,可以是不同類型的變量

變量類型本身不固定,爲動態語言

常量

不能變的量

常用全部大寫的變量名錶示常量

/除法

/除法的結果是浮點數,即使兩個整數恰好整除,結果也是浮點數

10 / 3
#>>>3.3333333333333335
9 / 3
#>>>3.0

//除法,成爲地板除,只取整數部分

10 // 3
#3
9 // 3
#3

字符編碼

不同編碼間的關係:

ASCII編碼和Unicode編碼的區別:ASCII編碼是1個字節,而Unicode編碼通常是2個字節。

本着節約的精神,又出現了把Unicode編碼轉化爲“可變長編碼”的UTF-8編碼。

UTF-8編碼根據不同數字大小編碼成1-6個字節,常用的英文字母被編碼成個字節,漢字通常是3個字節,只有很生僻的字符纔會被編成4-6個字節。

如果文本中含有大量的英文字符,用UTF-8就能節省空間。

在計算機內存中,統一使用Unicode編碼,當需要保存到硬盤或者需要傳輸時,就轉換爲UTF-8編碼。

瀏覽網頁的時候,服務器會把動態生成的Unicode內容轉換爲UTF-8在傳輸到瀏覽器。

Python的字符串:

Python3中,字符串是以Unicode編碼的

對於單個字符,ord()函數獲取字符的編碼整數表示,chr()函數把編碼裝換爲對應的字符

ord('A')
ord('中')
chr(66)
chr(25991)
#65
#20013
#'B'
#'文'

Python中對str進行保存或傳輸時,需要把str變爲以字節爲單位的bytes

bytes類型的數據用帶b前綴的單引號或雙引號表示

a = b'ABC'

bytes的每個字符只佔一個字節

str通過encode()方法可以編碼爲指定的bytes

'ABC'.encode('ascii')
#b'ABC'

純英文用ASCII編碼爲bytes,含有中文用UTF-8編碼

bytes裏無法轉爲ASCII的字節用\x##顯示

反過來讀取字節流時,需要將bytes轉爲str,用到decode()方法

b'ABC'.decode('UTF-8')
#'ABC'

遇到無法解碼字節時會報錯

如果bytes中只有一小部分無效的字節,可以在decode()中傳入errors='ignore'參數忽略錯誤的字節

len()函數可以計算str中的字符個數,bytes中的字節數

len('ABC')
len('中文')
len(b'ABC')
len('中文'.encode('UTF-8'))
#3
#2
#3
#6

UTF-8編碼讀取,我們通常在文件開頭寫上這兩行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一行註釋是爲了告訴Linux/OS X系統,這是一個Python可執行程序,Windows系統會忽略這個註釋;

第二行註釋是爲了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會有亂碼。

格式化字符串

在Python中,採用的格式化方式和C語言是一致的,用%實現

%x十六進制整數

如果你不太確定應該用什麼,%s永遠起作用,它會把任何數據類型轉換爲字符串

%%用來轉義表示%

format()方法(不常用,還很麻煩)

它會用傳入的參數依次替換字符串內的佔位符{0}{1}

'Hello, {0}, 成績提升了 {1:.1f}%'.format('小明', 17.125)
#'Hello, 小明, 成績提升了 17.1%'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章