Python零基礎第3課- 基礎語法
Python基礎語法
Python語言與Perl,C和Java等語言有許多相似之處。但是,也存在一些差異。
在本章中我們將來學習Python的基礎語法,讓你快速學會Python程式設計。
用一張圖概況Python學習
第一個Python程式
互動式程式設計
互動式程式設計不需要建立指令碼檔案,是通過 Python 直譯器的互動模式進來編寫程式碼。
linux上你只需要在命令列中輸入 Python 命令即可啟動互動式程式設計,提示視窗如下:
$ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type"help", "copyright", "credits" or "license" for more information. >>>
Window上在安裝Python時已經安裝了預設的互動式程式設計客戶端,提示視窗如下:
在 python 提示符中輸入以下文字資訊,然後按 Enter 鍵檢視執行效果:
>>> print "Hello, Python!";
在 Python 2.4.3 版本中,以上事例輸出結果如下:
Hello, Python!
如果您執行的是新版本的Python,那麼你就需要在print語句中使用括號如:
>>> print ("Hello, Python!");
指令碼式程式設計
通過指令碼引數呼叫直譯器開始執行指令碼,直到指令碼執行完畢。當指令碼執行完成後,直譯器不再有效。
讓我們寫一個簡單的Python指令碼程式。所有Python檔案將以.py為副檔名。將以下的原始碼拷貝至test.py檔案中。
print "Hello, Python!";
這裡,假設你已經設定了Python直譯器PATH變數。使用以下命令執行程式:
$ python test.py
輸出結果:
Hello, Python!
讓我們嘗試另一種方式來執行Python指令碼。修改test.py檔案,如下所示:
#!/usr/bin/python print "Hello, Python!";
這裡,假定您的Python直譯器在/usr/bin目錄中,使用以下命令執行指令碼:
$ chmod +x test.py # 指令碼檔案新增可執行許可權 $./test.py
輸出結果:
Hello, Python!
Python識別符號
在python裡,識別符號有字母、數字、下劃線組成。
在python中,所有識別符號可以包括英文、數字以及下劃線(_),但不能以數字開頭。
python中的識別符號是區分大小寫的。
以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用"from xxx import *"而匯入;
以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結尾的(__foo__)代表python裡特殊方法專用的標識,如__init__()代表類的建構函式。
Python 可以同一行顯示多條語句,方法是用分號;分開,如:
>>> print 'hello';print 'Python'; hello Python
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 |
行和縮排
學習Python與其他語言最大的區別就是,Python的程式碼塊不使用大括號({})來控制類,函式以及其他邏輯判斷。python最具特色的就是用縮排來寫模組。
縮排的空白數量是可變的,但是所有程式碼塊語句必須包含相同的縮排空白數量,這個必須嚴格執行。如下所示:
if True: print "True" else: print "False"
以下程式碼將會執行錯誤:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 檔名:test.py if True: print "Answer" print "True" else: print "Answer" # 沒有嚴格縮排,在執行時報錯 print "False"
執行以上程式碼,會出現如下錯誤提醒:
$ python test.py File "test.py", line 5 if True: ^ IndentationError: unexpected indent
IndentationError: unexpected indent錯誤是python編譯器是在告訴你"Hi,老兄,你的檔案裡格式不對了,可能是tab和空格沒對齊的問題",所有python對格式要求非常嚴格。
如果是IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮排方式不一致,有的是 tab 鍵縮排,有的是空格縮排,改為一致即可。
因此,在Python的程式碼塊中必須使用相同數目的行首縮排空格數。
建議你在每個縮排層次使用單個製表符或兩個空格或四個空格, 切記不能混用
多行語句
Python語句中一般以新行作為為語句的結束符。
但是我們可以使用斜槓( \)將一行的語句分為多行顯示,如下所示:
total = item_one + \ item_two + \ item_three
語句中包含[], {} 或 () 括號就不需要使用多行連線符。如下例項:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Python 引號
Python 使用單引號(' ),雙引號(" ),三引號(''' """) 來表示字串,引號的開始與結束必須是相同型別的。
其中三引號可以由多行組成,編寫多行文字的快捷語法,常用於文件字串,在檔案的特定地點,被當做註釋。
word = 'word' sentence = "這是一個句子" paragraph = """這是一個段落 包含了多個語句"""
Python註釋
python中單行註釋採用 # 開頭。
#!/usr/bin/python # -*- coding: UTF-8 -*- # 檔名:test.py # 第一個註釋 print "Hello, Python!"; # 第二個註釋 輸出結果: Hello, Python!
註釋可以在語句或表示式行末:
name = "Madisetti" # 這是一個註釋
python 中多行註釋使用三個單引號(''')或三個雙引號(""")。
#!/usr/bin/python # -*- coding: UTF-8 -*- # 檔名:test.py ''' 這是多行註釋,使用單引號。 這是多行註釋,使用單引號。 這是多行註釋,使用單引號。 ''' """ 這是多行註釋,使用雙引號。 這是多行註釋,使用雙引號。 這是多行註釋,使用雙引號。 """
Python空行
函式之間或類的方法之間用空行分隔,表示一段新的程式碼的開始。類和函式入口之間也用一行空行分隔,以突出函式入口的開始。
空行與程式碼縮排不同,空行並不是Python語法的一部分。書寫時不插入空行,Python直譯器執行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的程式碼,便於日後程式碼的維護或重構。
記住:空行也是程式程式碼的一部分。
等待使用者輸入
下面的程式執行後就會等待使用者輸入,按回車鍵後就會退出:
#!/usr/bin/python # -*- coding: UTF-8 -*- raw_input("按下 enter 鍵退出,其他任意鍵顯示...\n")
以上程式碼中 ,\n實現換行。一旦使用者按下 enter(回車) 鍵退出,其它鍵顯示。
同一行顯示多條語句
#!/usr/bin/python import sys; x = 'w3cschool'; sys.stdout.write(x + '\n')
執行以上程式碼,輸入結果為:
$ python test.py
w3cschool
Print 輸出
print 預設輸出是換行的,如果要實現不換行需要在變數末尾加上逗號,
#!/usr/bin/python # -*- coding: UTF-8 -*- x="a" y="b" # 換行輸出 print x print y print '---------' # 不換行輸出 print x, print y, # 不換行輸出 print x,y
以上例項執行結果如下:
a b --------- a b a b
多個語句構成程式碼組
縮排相同的一組語句構成一個程式碼塊,我們稱之程式碼組。
像if、while、def和class這樣的複合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行程式碼構成程式碼組。
我們將首行及後面的程式碼組稱為一個子句(clause)。
如下例項:
if expression : suite elif expression : suite else : suite
命令列引數
很多程式可以執行一些操作來檢視一些基本資訊,Python可以使用-h引數檢視各引數幫助資訊:
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
我們在使用指令碼形式執行 Python 時,可以接收命令列輸入的引數,具體使用可以自行查閱資料參考。
整理給新手與正在學習python的朋友:
(Python學習書籍pdf版——————基礎-爬蟲-資料分析-機器學習-web,五大方向書籍應有盡有!現已上傳50本,持續更新中)
(Python學習教程———————專案實戰-專案原始碼-python環境搭建必要安裝檔案,正在整理更新中)
花了挺長時間去辦這件事情的,需要的點選我主頁就能找到這篇文章,或者直接點選下方字型跳轉: