http://www.runoob.com/python/python-basic-syntax.html
Python 基礎語法
Python語言與Perl,C和Java等語言有許多相似之處。但是,也存在一些差異。
在本章中我們將來學習Python的基礎語法,讓你快速學會Python編程。
第一個Python程序
交互式編程
交互式編程不需要創建腳本文件,是通過 Python 解釋器的交互模式進來編寫代碼。
linux上你只需要在命令行中輸入 Python 命令即可啟動交互式編程,提示窗口如下:
$ 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 "help", "copyright", "credits" or "license" for more information.
>>>
Window上在安裝Python時已經已經安裝了默認的交互式編程客戶端,提示窗口如下:
在 python 提示符中輸入以下文本信息,然后按 Enter 鍵查看運行效果:
>>> print "Hello, Python!";
在 Python 2.7.6 版本中,以上實例輸出結果如下:
Hello, Python!
腳本式編程
通過腳本參數調用解釋器開始執行腳本,直到腳本執行完畢。當腳本執行完成后,解釋器不再有效。
讓我們寫一個簡單的Python腳本程序。所有Python文件將以.py為擴展名。將以下的源代碼拷貝至test.py文件中。
print "Hello, Python!";
這里,假設你已經設置了Python解釋器PATH變量。使用以下命令運行程序:
$ python test.py
輸出結果:
Hello, Python!
讓我們嘗試另一種方式來執行Python腳本。修改test.py文件,如下所示:
#!/usr/bin/pythonprint "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保留字符
下面的列表顯示了在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
行和縮進
學習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
raw_input("\n\nPress the enter key to exit.")
以上代碼中 ,"\n\n"在結果輸出前會輸出兩個新的空行。一旦用戶按下 enter(回車) 鍵退出,其它鍵顯示。
同一行顯示多條語句
Python可以在同一行中使用多條語句,語句之間使用分號(;)分割,以下是一個簡單的實例:
#!/usr/bin/python
import sys; x = 'runoob'; sys.stdout.write(x + '\n')
執行以上代碼,輸入結果為:
$ python test.py
runoob
多個語句構成代碼組
縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。
像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 命令行參數。