Python學習之路2——Python標識符及變量賦值

一、Python標識符

在 Python 裏,標識符由字母、數字、下劃線組成。python

在 Python 中,全部標識符能夠包括英文、數字以及下劃線(_),但不能以數字開頭。編程

Python 中的標識符是區分大小寫的。python3.x

如下劃線開頭的標識符是有特殊意義的。數據結構

以雙下劃線開頭的 __foo 表明類的私有成員,__foo(self)表明類的私有方法,不能直接從外部調用,需經過類裏的其餘方法調用。編程語言

以雙下劃線開頭和結尾的 __foo__ 表明 Python 裏特殊方法專用的標識,如 __init__() 表明類的構造函數。函數

二、Python 保留字符

下面的列表顯示了在Python中的保留字。這些保留字不能用做常數或變數,或任何其餘標識符名稱。oop

全部 Python 的關鍵字只包含小寫字母。學習

and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

三、行和縮進

學習 Python 與其餘語言最大的區別就是,Python 的代碼塊不使用大括號 {} 來控制類,函數以及其餘邏輯判斷。優化

python 最具特點的就是用縮進來寫模塊。this

縮進的空白數量是可變的,可是全部代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。以下所示:

 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 的代碼塊中必須使用相同數目的行首縮進數

建議你在每一個縮進層次使用 單個製表符 或 兩個空格 或 四個空格 , 切記不能混用。

四、多行語句

Python語句中通常以新行做爲語句的結束符。

可是咱們可使用斜槓( \)將一行的語句分爲多行顯示,以下所示:

1 total = item_one + \ 2         item_two + \ 3         item_three

語句中包含 [], {} 或 () 括號就不須要使用多行鏈接符。以下實例:

1 days = ['Monday', 'Tuesday', 'Wednesday', 2         'Thursday', 'Friday']

五、Python 引號

Python 可使用引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字符串,引號的開始與結束必須的相同類型的。

其中三引號能夠由多行組成,編寫多行文本的快捷語法,經常使用於文檔字符串,在文件的特定地點,被當作註釋。

1 word = 'word'
2 sentence = "這是一個句子。"
3 paragraph = """這是一個段落。 4 包含了多個語句"""

六、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 """

七、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?

八、變量賦值及命名規則

① 聲明一個變量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。

九、字符編碼

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,不用聲明字符編碼能夠直接顯示中文。

 十、標準數據類型

在內存中存儲的數據能夠有多種類型。

例如,一我的的年齡能夠用數字來存儲,他的名字能夠用字符來存儲。

Python 定義了一些標準類型,用於存儲各類類型的數據。

Python有五個標準的數據類型:

一、Numbers(數字)

二、String(字符串)

三、List(列表)

四、Tuple(元組)

五、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組成。

相關文章
相關標籤/搜索