位置:首頁 > 腳本語言 > Python教學 > Python基本語法

Python基本語法

Python與Perl,C和Java語言等有許多相似之處。不過,也有語言之間有一些明確的區彆。本章的目的是讓你迅速學習Python的語法。

第一個Python程序:

交互模式編程:

調用解釋器不經過腳本文件作為參數,顯示以下提示:

$ python
Python 2.6.4 (#1, Nov 11 2014, 13:34:43)
[GCC 4.1.2 20120704 (Red Hat 5.6.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

鍵入下列文字在Python提示符,然後按Enter鍵:

>>> print "Hello, Python!";

如果您運行的是新的Python版本,那麼需要使用打印語句括號像print ("Hello, Python!");。但是在Python版本2.6.4,這將產生以下結果:

Hello, Python!

腳本模式編程:

調用解釋器及腳本作為參數,並開始執行的腳本,並一直持續到腳本完成。當腳本完成時,解釋器不再是活動的。

讓我們在腳本中編寫一個簡單的Python程序。所有的Python文件將具有.py擴展。所以,把下麵的代碼寫在一個test.py文件。

print "Hello, Python!";

在這裡,我假設你已經在PATH變量中設置Python解釋器。現在,嘗試如下運行這個程序:

$ python test.py

這將產生以下結果:

Hello, Python!

讓我們嘗試另一種方式來執行Python腳本。下麵是修改後的test.py文件:

#!/usr/bin/python

print "Hello, Python!";

在這裡,假設Python解釋器在/usr/bin目錄中可用。現在,嘗試如下運行這個程序:

$ chmod +x test.py     # This is to make file executable
$./test.py

這將產生以下結果:

Hello, Python!

Python標識符:

Python標識符是用來標識一個變量,函數,類,模塊或其他對象的名稱。一個標識符開始以字母A到Z或a〜z或後跟零個或多個字母下劃線(_),下劃線和數字(0〜9)。

Python中標識符內不允許標點符號,如@,$和%。 Python是一種區分大小寫的編程語言。因此,Manpower 和manpower在Python中是兩個不同的標識符。

這裡有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時,遇到的第一個需要注意的地方是,不使用括號來表示代碼的類和函數定義塊或流程控製。代碼塊是由行縮進,這是嚴格執行表示方式。

在縮進位的數目是可變的,但是在塊中的所有語句必須縮進相同的量。在這個例子中,兩個功能塊都很好使用:

if True:
    print "True"
else:
  print "False"

然而,在本實施例中的第二塊將產生一個錯誤:

if True:
    print "Answer"
    print "True"
else:
    print "Answer"
  print "False"

因此,在Python中所有的連續線縮進的空格數同樣的會結成塊。以下是各種語句塊中的例子:

注意:不要試圖理解所使用的邏輯或不同的功能。隻要確定你明白,即使他們各種模塊無需括號。

#!/usr/bin/python

import sys

try:
  # open file stream
  file = open(file_name, "w")
except IOError:
  print "There was an error writing to", file_name
  sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
  file_text = raw_input("Enter text: ")
  if file_text == file_finish:
    # close the file
    file.close
    break
  file.write(file_text)
  file.write("
")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
  print "Next time please enter something"
  sys.exit()
try:
  file = open(file_name, "r")
except IOError:
  print "There was an error reading file"
  sys.exit()
file_text = file.read()
file.close()
print file_text

多行語句:

Python語句通常用一個新行結束。 但是,Python允許使用續行字符()來表示,該行應該繼續下去(跨行)。例如:

total = item_one + 
        item_two + 
        item_three

包含在[],{}或()括號內的陳述並不需要使用續行符。例如:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Python引號:

Python接受單引號('),雙引號(“)和三(''或”“”)引用,以表示字符串常量,隻要是同一類型的引號開始和結束的字符串。

三重引號可以用於跨越多個行的字符串。例如,所有下列是合法的:

word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

Python注釋:

一個井號(#),這不是一個字符串文字開頭的注釋。“#”號之後字符和到物理行是注釋的一部分,Python解釋器會忽略它們。

#!/usr/bin/python

# First comment
print "Hello, Python!";  # second comment

這將產生以下結果:

Hello, Python!

注釋可能會在聲明中表達或同一行之後:

name = "Madisetti" # This is again comment

你可以使用多行注釋如下:

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

使用空行:

一行隻含有空格,可能帶有注釋,如果是空行那麼Python完全忽略它。

在交互式解釋器會話中,必須輸入一個空的物理行終止多行語句。

等待用戶:

程序的下麵一行顯示的提示,按回車鍵退出,等待用戶按下回車鍵:

#!/usr/bin/python

raw_input("

Press the enter key to exit.")

在這裡,“ 已”被用來顯示實際行之前創建兩個換行。一旦用戶按下鍵時,程序結束。這是一個很好的技巧,保持一個控製台窗口打開,直到用戶完成應用程序運行。

在一行中多個語句:

分號( ; ) 允許在單行寫入多條語句,不管語句是否啟動一個新的代碼塊。下麵是使用分號示例:

import sys; x = 'foo'; sys.stdout.write(x + '
')

多個語句組作為套件:

一組單獨的語句,在Python單一的代碼塊被稱為序列。複雜的語句,如if, while, def, and class,那些需要一個標題行和套件。

標題行開始的聲明(與關鍵字),並終止與冒號(:)),接著是一個或多個線構成該套件。例如:

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概念後。