Python學習筆記二:Python基礎
阿新 • • 發佈:2018-12-11
- Python語法採用縮排形式,有以下幾點需要注意:
- 註釋以
#
開頭; - 當語句以冒號
:
結尾時,縮排的語句視為程式碼塊; - 始終堅持4個空格的縮排;
- 大小寫敏感;
- 註釋以
1. 資料型別和變數
1.1 資料型別
1.1.1 整數
- 在程式中的寫法和數學中的寫法一樣,如
1
,100
,-8080
,0
,等等; - 用十六進位制表示整數比較方便,十六進位制用
0x
字首和0-9,a-f表示,例如:0xff00
,0xa5b4c3d2
,等等;
1.1.2 浮點數
- 浮點數也就是小數,浮點數可以用數學寫法,如
1.23
,3.14
,-9.01
,等等; - 對於很大或很小的浮點數,需用科學計數法表示,如x就是
1.23e9
12.3e8
,0.000012可以寫成1.2e-5
,等等;
1.1.3 字串
- 字串是以單引號
'
或雙引號"
括起來的任意文字,比如'abc'
,"xyz"
等等; - 如果
'
本身也是一個字元,那就可以用""
括起來,比如"I'm OK"
包含的字元是I
,'
,m
,空格,O
,K
這6個字元; - 用轉義字元
\
來標識字串內部包含的'
和"
;比如:
'I\'m \"OK\"!'
表示的內容就是:
I'm "OK"!
\n
表示換行,\t
表示製表符,\\
表示的就是字元\
;- Python還允許用
r''
表示''
內部的字串預設不轉義,如:
>>> print('\\\t\\')
\ \
>> > print(r'\\\t\\')
\\\t\\
- Python允許用
'''...'''
的格式表示多行內容,此處注意...
是提示符,不是程式碼的一部分;
>>> print('''line1
... line2
... line3''')
line1
line2
line3
1.1.4 布林值
- 一個布林值只有
True
、False
兩種值,在Python中,可以直接用True
、False
表示布林值(請注意大小寫);
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
- 布林值可以用
and
、or
和not
運算; - 布林值經常用在條件判斷中,比如:
if age >= 18:
print('adult')
else:
print('teenager')
1.1.5 空值
- 用
None
表示。None
不能理解為0
,因為0
是有意義的,而None
是一個特殊的空值;
1.2 變數
- 變數不僅可以是數字,還可以是任意資料型別;
- 變數名必須是大小寫英文、數字和
_
的組合,且不能用數字開頭; - 等號
=
是賦值語句,可以把任意資料型別賦值給變數;同時不要將賦值語句的等號等同於數學中的等號; - 同一個變數可以反覆賦值,而且可以是不同型別的變數,這種變數本身型別不固定的語言稱之為動態語言,與之對應的是靜態語言。靜態語言在定義變數時必須指定變數型別,如果賦值的時候型別不匹配,就會報錯。例如Java是靜態語言,賦值語句如下(// 表示註釋):
int a = 123; // a是整數型別變數
a = "ABC"; // 錯誤:不能把字串賦給整型變數
1.3 常量
- 在Python中,通常用全部的大寫的變數名錶示常量;但Python根本沒有任何機制保證
PI
不會被改變,所以全部大寫的變數名只是一個習慣的用法; - Python中的除法:
/
除法計算結果是浮點數;除法計算結果是浮點數,即使是兩個整數恰好整除,如:
>>> 10 / 3
3.3333333333333335
>>> 9 / 3
3.0
//
地板除,如:
>>> 10 // 3
3
%
取餘,如:
>>> 10 % 3
1
2. 字串和編碼
2.1 字元編碼
-
8個位元(bit)作為一個位元組(byte),一個位元組能表示的最大整數就是255(二進位制11111111=十進位制255),最初只有127個字元被編碼到計算機中,即
ASCII
編碼; -
顯然中文以及其他國家的語言,一個位元組是不夠的,故
Unicode
編碼應用而生,最常用的是用兩個位元組表示一個字元(如果非常偏僻的字元,需要4個位元組); -
雖然統一成Unicode編碼,亂碼問題消除了,但如果寫的文字全都是英文的話,用Unicode編碼比ASCII編碼整整多了一倍儲存空間,這就不划算了;
-
於是出現了可變長編碼的
UTF-8
編碼,UTF-8
編碼把一個Unicode
字元根據不同的數字大小編碼成1-6個位元組,常用的 英文字母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組; -
總結一下計算機系統通用的字元編碼工作方式:
- 在計算機記憶體中,統一使用Unicode編碼,當需要儲存到硬碟或者需要傳輸的時候,就轉換為UTF-8編碼;
- 用記事本編輯的時候,從檔案讀取的UTF-8字元被轉換為Unicode字元到記憶體裡,編輯完成後,儲存的時候再把Unicode轉換為UTF-8儲存到檔案;
- 瀏覽網頁的時候,伺服器會把動態生成的Unicode內容轉換為UTF-8再傳輸到瀏覽器;
2.2 Python的字串
- 在最新的 Python3.x 中,字串是以Unicode編碼的,支援多語言。比如:
>>> print('包含中文的str')
包含中文的str
- 對於單個字元的編碼,
ord()
函式獲取字元的整數表示,chr()
函式把編碼轉換為對應的字元:
>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
- 如果知道字元的整數編碼,還可以用十六進位制這麼寫
str
:
>>> '\u4e2d\u6587'
'中文'