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


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 print
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組成。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM