Python3基礎語法


Python語言有許多與Perl,C和Java的相似之處。不過,語言之間也有一些明顯的差異。

第一個Python程式

讓我們在不同的程式設計模式下執行程式。

互動模式程式設計

呼叫直譯器,不用通過一個指令碼檔案作為引數,如下提示 -
$ python
Python 3.3.2 (default, Dec 10 2013, 11:35:01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>
在 Windows 系統上:
C:\Users\Administrator>python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
在 Python 提示符下編寫下面的文字程式碼,然後按Enter:
>>> print ("Hello, Python!") 

如果你使用的是 Python(Python2.X)的舊版本,在print 函式使用括號是一個可選項。這將產生以下的結果:

Hello, Python!

指令碼程式設計模式

直譯器呼叫一個指令碼引數開始執行指令碼,並一直持續到指令碼完成。當指令碼完成,直譯器活動失效。

讓我們在指令碼中寫一個簡單的 Python 程式。Python檔案使用 .py 擴充套件名。 建立一個檔案 test.py 並寫入以下程式碼:

print ("Hello, Python!") 

假設你已經在 PATH 變數中設定了 Python 直譯器路徑。 現在,試著如下執行這個程式 -

在Linux上執行
$ python test.py 
這將產生以下的結果:
Hello, Python!
在 Windows 上執行
C:\Python3>Python test.py
這將產生以下的結果:
Hello, Python!
讓我們嘗試使用另一種方式在Linux中執行 Python 指令碼。下面是修改 test.py 檔案 -
#!/usr/bin/python3

print ("Hello, Python!") 

假設你已經在 /usr/bin目錄安裝好了 Python 直譯器。現在,試著如下執行這個程式 -

$ 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
as finally or
assert for pass
break from print
class global raise
continue if return
def import try
del in while
elif is with
else lambda yield
except


行和縮排

Python不使用大括號({})來表示的程式碼塊類和函式定義或流程控制。程式碼塊由行縮排,這是嚴格執行表示。

在縮排位的數目是可變的,但該塊內的所有語句的縮排量必須相同。 例如 -

if True:
    print ("True")
else:
  print ("False")
但是,以下塊產生一個錯誤 -
if True:
    print ("Answer")
    print ("True")
else:
    print "(Answer")
  print ("False") 

因此,Python中所有連續不換行,同樣數量的空格縮排將形成一個塊。下面的例子有各種各樣的語句塊 -

注意:不要試圖理解其中的邏輯在這個時候。只要你明白,即使他們不使用括號在各個模組。

#!/usr/bin/python3

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("\n")
file.close()
file_name = 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/python3

# First comment
print ("Hello, Python!") # second comment
這將產生以下結果 -
Hello, Python!
你可以宣告或表示式之後的同一行寫上注釋 -
name = "Madisetti" # This is again comment
Python沒有多行註釋功能。所以你應該單行注釋每一行如下-
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

使用空行

僅包含空格,可能帶有注釋行,如果是空行Python會完全忽略它。
在互動式直譯器對談,則必須輸入一個空的物理行來終止多行語句。

等待使用者

程式的下面一行顯示提示宣告說:「按確認鍵退出」,並等待使用者操作 -
#!/usr/bin/python3

input("\n\nPress the enter key to exit.") 

在這裡,「\n\n」是用來顯示實際行之前建立的兩條新行。一旦使用者按下鍵時,程式就結束。 這是一個很好的技巧,以保持控制台視窗開啟,直到使用者來指定終止應用程式執行。

在一行多條語句

分號(;)允許給在單行有多條語句,而不管語句開始一個新的程式碼塊。下面是使用分號的範例-
import sys; x = 'foo'; sys.stdout.write(x + '\n')

多重宣告組為套件

一組單獨的語句,它們使單一程式碼塊化在Python稱為套件。複雜的語句,如 if, while, def, 和 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概念後,其餘部分的內容我們將在接下來的章節中學習。