Python 基本語法
Python語言與Perl,C和Java等語言有許多相似之處。但是,也存在一些差異。
在本章我們將來學習Python的基礎語法,讓你快速學會Python程式設計。
第一個Python程式
互動式程式設計
互動式程式設計不需要建立腳本文件,是透過 Python 解譯器的互動模式進來寫程式碼。
linux上你只需要在命令列中輸入Python 指令即可啟動互動式程式設計,提示視窗如下:
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin##Type " for more information.
>>>
Python 標識符
在python裡,標識符有字母、數字、底線組成。
在python中,所有識別碼可以包含英文、數字以及底線(_),但不能以數字開頭。
python中的識別碼是區分大小寫的。
以下劃線開頭的識別碼是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類別屬性,需透過類別提供的介面進行訪問,不能用"from xxx import *"而導入;
以雙下劃線開頭的(__foo)代表類別的私有成員;以雙底線開頭和結尾的(__foo__)代表python裡特殊方法專用的標識,如__init__()代表類別的建構子。
Python保留字元
下面的清單顯示了在Python中的保留字。這些保留字不能用作常數或變數,或任何其他識別碼名稱。
所有Python的關鍵字只包含小寫字母。
and | exec | not |
assert | finally | or |
break | for | #pass |
class | #from | |
continue | #global | raise |
def | if | return |
del | import | ##>|
in | while | |
is | with | |
行和縮排
學習Python與其他語言最大的區別就是,Python的程式碼區塊不使用大括號({})來控制類,函數以及其他邏輯判斷。 python最具特色的就是用縮寫來寫模組。
縮排的空白數量是可變的,但是所有程式碼區塊語句必須包含相同的縮排空白數量,這個必須嚴格執行。如下圖所示:
print "True"
else:
print "False"
#以下程式碼將執行錯誤:
# -*- coding: UTF-8 -*-
# 檔案名稱:test.py
if真:
print "Answer"
print "True"
else:
print "Answer"
# ^
IndentationError: unexpected indent
IndentationError: unexpected indent 錯誤是python編譯器是在告訴你"Hi,老兄,你的檔案裡不對了,可能是tab和空格沒對齊的問題",所有python對格式要求非常嚴格。
如果是IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮進方式不一致,有的是tab 鍵縮進,有的是空格縮進,改為一致即可。
因此,在Python的程式碼區塊中必須使用相同數目的行首縮排空格數。
建議你在每個縮排層次使用單一製表符 或兩個空格 或四個空格 , 記得不能混用
多行語句
Python語句中一般以新行作為為語句的結束符號。
但我們可以用斜線( \)將一行的語句分成多行顯示,如下:
## item_three
#item_ \
#item_reethree
Python 引號
Python 接收單引號(' ),雙引號(" ),三引號(''' """) 來表示字串,引號的開始與結束必須的相同類型的。
其中三引號可以由多行組成,編寫多行文字的快捷語法,常用語文檔字串,在文件的特定地點,被當做註解。
sentence = "這是一個句子。"
paragraph = """這是一個段落。
包含了多個語句""""
Python註解
python中單行註解採用# 開頭。
# -*- coding: UTF-8 -*-
# 檔案名稱:test.py
# 第一個註釋
print "Hello, Python!"; # 第二個註釋
輸出結果:
python 中多行註解使用三個單引號(''')或三個雙引號(""")。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 檔名:test.py
'''
這是多行註釋,使用單引號。是多行註釋,使用單引號。
這是多行註釋,使用雙引號。
這是多行註釋,使用雙引號。
"""
Python空行函數之間或類別的方法之間用空行分隔,表示一段新的程式碼的開始。類別和函數入口之間也以一行空行分隔,以突出函數入口的開始。器運作也不會出錯。 ##等待使用者輸入下面的程式在按下回車鍵後就會等待使用者輸入:
#!/usr/bin/pythonraw_input("\n\nPress the enter key to exit.")#
以上程式碼中 ,"\n\n"在結果輸出前會輸出兩個新的空白行。一旦使用者按下鍵時,程式將退出。
同一行顯示多條語句
Python可以在同一行使用多個語句,語句之間使用分號(;)分割,以下是一個簡單的實例:
執行上述程式碼,輸入結果為:
$ python test.py
php
多個語句構成程式碼群組
縮排相同的一組語句構成一個程式碼區塊,我們稱之程式碼群組。
像if、while、def和class這樣的複合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行程式碼構成程式碼群組。
如下範例:
if expression :
suite
命令列參數
很多程式可以執行一些操作來查看一些基本信,Python可以使用-h參數查看各參數幫助資訊:
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options c cmd : program passed in as string (terminates option list)
-d : debug output from s (such as PYTHONPATH)
-h : print this help message and exit
[ etc. ]