Latest web development tutorials

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-shell

在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/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保留字符

下面的列表顯示了在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"在結果輸出前會輸出兩個新的空行。 一旦用戶按下鍵時,程序將退出。


同一行顯示多條語句

Python可以在同一行中使用多條語句,語句之間使用分號(;)分割,以下是一個簡單的實例:

#!/usr/bin/python

import sys; x = 'w3big'; sys.stdout.write(x + '\n')

執行以上代碼,輸入結果為:

$ python test.py
w3big

多個語句構成代碼組

縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。

像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命令行參數