1、Python標識符
在 Python 里,標識符由字母、數字、下划線組成。
在 Python 中,所有標識符可以包括英文、數字以及下划線(_),但不能以數字開頭。
Python 中的標識符是區分大小寫的。
以下划線開頭的標識符是有特殊意義的。
以雙下划線開頭的 __foo 代表類的私有成員,__foo(self)代表類的私有方法,不能直接從外部調用,需通過類里的其他方法調用。
以雙下划線開頭和結尾的 __foo__ 代表 Python 里特殊方法專用的標識,如 __init__() 代表類的構造函數。
2、Python 保留字符
下面的列表顯示了在Python中的保留字。這些保留字不能用作常數或變數,或任何其他標識符名稱。
所有 Python 的關鍵字只包含小寫字母。
| and | exec | not |
| assert | finally | or |
| break | for | pass |
| class | from | |
| continue | global | raise |
| def | if | return |
| del | import | try |
| elif | in | while |
| else | is | with |
| except | lambda | yield |
3、行和縮進
學習 Python 與其他語言最大的區別就是,Python 的代碼塊不使用大括號 {} 來控制類,函數以及其他邏輯判斷。
python 最具特色的就是用縮進來寫模塊。
縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。如下所示:
1 if True: 2 print ("True") 3 else: 4 print ("False")
以下代碼將會執行錯誤:
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 if True: 6 print("Answer") 7 print("True") 8 else: 9 print("Answer") 10 # 沒有嚴格縮進,在執行時會報錯 11 print("False")
執行以上代碼,會出現如下錯誤提醒:
1 E:\Python\PythonLearing\venv\Scripts\python.exe E:/Python/PythonLearing/test.py 2 File "E:/Python/PythonLearing/test.py", line 11 3 print("False") 4 ^ 5 IndentationError: unindent does not match any outer indentation level
IndentationError: unindent does not match any outer indentation level。
錯誤表明,你使用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改為一致即可。
如果是 IndentationError: unexpected indent 錯誤, 則 python 編譯器是在告訴你"Hi,老兄,你的文件里格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴格。
因此,在 Python 的代碼塊中必須使用相同數目的行首縮進數。
建議你在每個縮進層次使用 單個制表符 或 兩個空格 或 四個空格 , 切記不能混用。
4、多行語句
Python語句中一般以新行作為語句的結束符。
但是我們可以使用斜杠( \)將一行的語句分為多行顯示,如下所示:
1 total = item_one + \ 2 item_two + \ 3 item_three
語句中包含 [], {} 或 () 括號就不需要使用多行連接符。如下實例:
1 days = ['Monday', 'Tuesday', 'Wednesday', 2 'Thursday', 'Friday']
5、Python 引號
Python 可以使用引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字符串,引號的開始與結束必須的相同類型的。
其中三引號可以由多行組成,編寫多行文本的快捷語法,常用於文檔字符串,在文件的特定地點,被當做注釋。
1 word = 'word' 2 sentence = "這是一個句子。" 3 paragraph = """這是一個段落。 4 包含了多個語句"""
6、Python注釋
python中單行注釋采用 # 開頭。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 # 第一個注釋 6 print ("Hello, Python!"); # 第二個注釋
輸出結果:
1 Hello, Python!
python 中多行注釋使用三個單引號(''')或三個雙引號(""")。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 6 ''' 7 這是多行注釋,使用單引號。 8 這是多行注釋,使用單引號。 9 這是多行注釋,使用單引號。 10 ''' 11 12 """ 13 這是多行注釋,使用雙引號。 14 這是多行注釋,使用雙引號。 15 這是多行注釋,使用雙引號。 16 """
7、Print 打印
print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上 ' end=' 。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 x="a" 6 y="b" 7 # 換行輸出 8 print(x) 9 print(y) 10 11 print ('---------') 12 # 不換行輸出 13 print(x, end = ' ') 14 print(y, end = ' ') 15 16 17 # a 18 # b 19 # --------- 20 # a b
格式化方法,可以用format實現格式化。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 age = 20 6 name = 'Swaroop' 7 print('{0} was {1} years old when he wrote this book'.format(name, age)) 8 print('Why is {0} playing with that python?'.format(name)) 9 10 11 # Swaroop was 20 years old when he wrote this book 12 # Why is Swaroop playing with that python?
格式化方法,也可以使用%s和%d實現,%s對應字符變量,%d對應數字變量。另外還有%r,打印變量原始類型,一般作調試用。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 age = 20 6 name = 'Swaroop' 7 print('%s was %d years old when he wrote this book' %(name,age) ) 8 print('Why is %s playing with that python?' %name) 9 10 11 # Swaroop was 20 years old when he wrote this book 12 # Why is Swaroop playing with that python?
8、變量賦值及命名規則
① 聲明一個變量name,變量name的值為:“wcw”
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 name = "wcw"
② 變量命名的規則
1 變量定義的規則: 2 3 變量名只能是 字母、數字或下划線的任意組合 4 變量名的第一個字符不能是數字 5 以下關鍵字不能聲明為變量名 6 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 7 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
③ 擴展 (給變量name1賦值Alex li,變量name2賦值為變量name1,name1重賦值Jack Chen,此時name2的值為多少?)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #-Author-Lian 4 name1 = "Alex Li" 5 6 name2 = name1 7 print(name1, name2) 8 9 name1 = "Jack Chen" 10 11 print("What is the value of name2 now?")

由圖所示,所以最后name1的值為Jack Chen,name2的值為Alex li。
9、字符編碼
python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)
ASCII(American Standard Code for Information Interchange,美國標准信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。
其最多只能用 8 位來表示(一個字節),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個符號。
顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字符和符號的編碼,即:Unicode。
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。
Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一並且唯一的二進制編碼。
規定所有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536。注:此處說的的是最少2個字節,可能更多。
UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...
所以,python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill),如果是如下代碼的話:
報錯:ascii碼無法表示中文
1 #!/usr/bin/env python 2 3 print "你好,世界"
改正:應該顯示的告訴python解釋器,用什么編碼來執行源代碼,即:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 print "你好,世界"
注:python2.x版本,默認支持的字符編碼為ASCll python3.x版本,默認支持的是Unicode,不用聲明字符編碼可以直接顯示中文。
10、標准數據類型
在內存中存儲的數據可以有多種類型。
例如,一個人的年齡可以用數字來存儲,他的名字可以用字符來存儲。
Python 定義了一些標准類型,用於存儲各種類型的數據。
Python有五個標准的數據類型:
1、Numbers(數字)
2、String(字符串)
3、List(列表)
4、Tuple(元組)
5、Dictionary(字典)
Python數字
數字數據類型用於存儲數值。
他們是不可改變的數據類型,這意味着改變數字數據類型會分配一個新的對象。
當你指定一個值時,Number對象就會被創建:
1 var1 = 1 2 var2 = 10
也可以使用del語句刪除一些對象的引用。
del語句的語法是:
1 del var1[,var2[,var3[....,varN]]]]
Python支持四種不同的數字類型:
int(有符號整型)
long(長整型[也可以代表八進制和十六進制])
float(浮點型)
complex(復數)
實例
一些數值類型的實例:
| int | long | float | complex |
|---|---|---|---|
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEl | 32.3e+18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2E-12 | 4.53e-7j |
長整型也可以使用小寫 l,但是還是建議您使用大寫 L,避免與數字 1 混淆。Python使用 L 來顯示長整型。
Python 還支持復數,復數由實數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 復數的實部 a 和虛部 b 都是浮點型。
Python字符串
字符串或串(String)是由數字、字母、下划線組成的一串字符。
一般記為 :
1 s="a1a2···an"(n>=0)
它是編程語言中表示文本的數據類型。
python的字串列表有2種取值順序:
-
- 從左到右索引默認0開始的,最大范圍是字符串長度少1
- 從右到左索引默認-1開始的,最大范圍是字符串開頭
Python列表
List(列表) 是 Python 中使用最頻繁的數據類型。
列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 標識,是 python 最通用的復合數據類型。
Python元組
元組是另一個數據類型,類似於List(列表)。
元組用"()"標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於只讀列表。
Python 字典
字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。列表是有序的對象集合,字典是無序的對象集合。
兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用"{ }"標識。字典由索引(key)和它對應的值value組成。
