一、變數
變數定義:Variables are used to store infomation to referrenced and manipulated in a computer program.
用於儲存程式啟動並執行中間運算結果
變數在程式中用一個變數名表示
在Python中,等號 = 是指派陳述式,可以把任意資料類型賦值給變數,同一個變數可以反覆賦值,而且可以是不同類型的變數
myFisrtName = "Jonathan" myLastName = "Ni" |
請不要把指派陳述式的等號等同於數學的等號。比如下面的代碼:
從數學上理解 x = x + 2 是不成立的。在程式中,指派陳述式先計算右側的運算式x + 2,得到結果10,再賦給變數x。
由於x之前的值是8,重新賦值後,x的值變成10。
理解變數在電腦記憶體中的表示非常重要,如以下聲明變數並賦值。
Python解譯器幹了兩件事情:
在記憶體中建立了一個"ABC"的字串;
在記憶體中建立了一個名為a的變數,並把它指向"ABC"。
常量就是不能變的量,通常用全部大寫的變數名表示。
總結:
在電腦內部,任何資料都看成一個“對象”,而變數就是在程式中用來指向這些資料對象的,對變數賦值就是把資料和變數給關聯起來。
二、資料類型
電腦就是可以做數學計算的機器。電腦程式理所當然要處理各種數值。除了數值,電腦還可以處理文本、圖形、音頻、視頻、網頁等
各種資料。不同的資料,需要定義不同的資料類型。
1、數字
整數:表示方法和數學上的寫法一樣,如1, -100, 0, 1000等。或16進位表示,0xffffff, 0xabcd等
浮點數:也就是小數,如0.99, -1.25, 88.88等。或者科學計數法表示1.23e8, 1.2e-8等
複數:由實數部分和虛數部分組成,一般形式為 x + yj,如(-5+4j)等
數字沒有大小限制,超出一定範圍就直接表示為inf(無限大)
2、字串
字串是以單引號'或雙引號"括起來的任意文本,比如'abc',"XYZ"等等。' 或 " 本身只是一種表示方式,不是字串的一部分,
例如 'abc'只有a,b,c 這3個字元。
如果 ' 本身也是一個字元,那就可以用 "" 括起來,比如 "I'm OK" 包含的字元是I, ', m, 空格, O, K這6個字元。
字串內部既包含 ' 又包含 " 可以用逸出字元 \ 來標識。如'I\'m \"OK\"!',表示I'm "OK"!
逸出字元可以轉義很多字元,比如\n表示換行,\t表示定位字元,\\表示字元\
如果字串內部有很多換行,可用'''.......'''的格式表示多行內容。
字串常用功能
" Jonathan ".strip() >>> "Jonathan" ";Jonathan;;".strip(";") >>> "Jonathan" |
參數: chars -- 移除字串頭尾指定的字元
傳回值:返回移除字串頭尾指定的字元產生的新字串。原字串保持不變。
參數: str -- 字串
傳回值:字串長度
"Jonathan".index("J") >>> 0 "Jonathan".index("J",1) >>> substring not found "Jonathan".index("an") >>> 6 |
參數:
str -- 指定檢索的字串
beg -- 開始索引,預設為0
end -- 結束索引,預設為字串的長度
傳回值:如果包含子字串返回開始的索引值,否則拋出異常。
Python 不支援單字元類型,單字元也在Python也是作為一個字串使用。
訪問子字串,可以使用方括弧來截取字串
"Jonathan"[0] >>> "J" # 下標從0開始 "Jonathan"[0:3] >>> "Jon" # 顧頭不顧尾 "Jonathan"[-1] >>> "n" # 倒數第一個 "Jonathan"[-3:-1] >>>"ha" # 顧頭不顧尾 "Jonathan"[-3:0] >>> "" # 不存在從後往前截取情況 "Jonathan[-3:] >>> "han" # 解譯器識別為從倒數第三個一直到最後全部字元 "Jonathan"[] >>> invalid syntax # 解譯器區分不了到底時單個字元還是區間字元 "Jonathan"[:] >>> "Jonathan" # 解譯器識別為全部字元 "Jonathan"[0:len("Jonathan")] >>> "Jonathan" "Jonathan"[-len("Jonathan"):] >>> "Jonathan" "Jonathan"[::-2] >>> "Jnta" # 最後一位表示步長 2 |
"Jon" + "nathan" >>> "Joanthan" # 遇 + ,解譯器需重新申請記憶體 |
name = "Jonathan" print("My name is %s."%(name) >>> "My name is Jonathan." |
3、布爾型
布爾值和布爾代數的表示完全一致,一個布爾值只有True,False兩種值(注意大小寫),布爾值可以用 and、or、和not運算
and運算是與運算,只有所有都為True,and運算結果才是True
or運算是或運算,只要其中有一個為True,or運算結果就是True:
not運算是非運算,它是一個單目運算子,把True變成False,False變成True
布爾值經常用在條件判斷中
if age >= 18: print("adult") else: print("teenager") |
4、空值
空值是Python裡一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
5、列表
列表是Python中最常用的資料類型,通過列表可以對資料進行最方便的儲存修改等操作
定義列表 names = ["Jon", "Alex", "Tom", "Catherine"]
通過下標訪問列表中的元素,下標從0開始計數
names[0] >>> "Jon" names[-1] >>> "Catherine" |
對列表進行操作
names[0] = "Jonathan" # 修改元素 names.append("Jim") >>> ["Jonathan", "Alex", "Tom", "Catherine", "Jim"] # 在列表最後附件元素 names.insert(2, "Linda") >>> ["Jonathan", "Alex", "Linda", "Tom", "Catherine", "Jim"] # 在下標為2的地方插入元素,其他元素後移動 names.remove("Linda") >>> ["Jonathan", "Alex", "Tom", "Catherine", "Jim"] # 刪除第一個檢索到的元素 del names[4] >>> ["Jonathan", "Alex", "Tom", "Catherine"] # 按下標刪除元素 names.index("Alex") >>> 1 # 返回下標 names.sort() >>> ["Alex", "Catherine", "Jonathan", "Tom"] # 按照ASCII正序排列 names.reverse() >>> ["Tom", "Jonathan", "Catherine", "Alex"] # 元素反轉 names.count("Tom") >>> 1 # 返回出現次數 |
三、運算
1、算術運算
2、比較運算
3、賦值運算
4、邏輯運算
5、成員運算
6、身份運算
7、位元運算