1. 程式人生 > 實用技巧 >Python零基礎第3課- 基礎語法

Python零基礎第3課- 基礎語法

Python基礎語法

Python語言與Perl,C和Java等語言有許多相似之處。但是,也存在一些差異。

在本章中我們將來學習Python的基礎語法,讓你快速學會Python程式設計。


用一張圖概況Python學習


第一個Python程式

互動式程式設計

互動式程式設計不需要建立指令碼檔案,是通過 Python 直譯器的互動模式進來編寫程式碼。

linux上你只需要在命令列中輸入 Python 命令即可啟動互動式程式設計,提示視窗如下:

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

Window上在安裝Python時已經安裝了預設的互動式程式設計客戶端,提示視窗如下:

在 python 提示符中輸入以下文字資訊,然後按 Enter 鍵檢視執行效果:

>>> print "Hello, Python!";

在 Python 2.4.3 版本中,以上事例輸出結果如下:

Hello, Python!

如果您執行的是新版本的Python,那麼你就需要在print語句中使用括號如:

>>>  print ("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 可以同一行顯示多條語句,方法是用分號;分開,如:

>>> print 'hello';print 'Python';
hello
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與其他語言最大的區別就是,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
# -*- coding: UTF-8 -*-

raw_input("按下 enter 鍵退出,其他任意鍵顯示...\n")

以上程式碼中 ,\n實現換行。一旦使用者按下 enter(回車) 鍵退出,其它鍵顯示。


同一行顯示多條語句

#!/usr/bin/python

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

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

$ python test.py
w3cschool

Print 輸出

print 預設輸出是換行的,如果要實現不換行需要在變數末尾加上逗號,

#!/usr/bin/python
# -*- coding: UTF-8 -*-

x="a"
y="b"
# 換行輸出
print x
print y

print '---------'
# 不換行輸出
print x,
print y,

# 不換行輸出
print x,y

以上例項執行結果如下:

a
b
---------
a b a b

多個語句構成程式碼組

縮排相同的一組語句構成一個程式碼塊,我們稱之程式碼組。

像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的朋友:

(Python學習書籍pdf版——————基礎-爬蟲-資料分析-機器學習-web,五大方向書籍應有盡有!現已上傳50本,持續更新中)

(Python學習教程———————專案實戰-專案原始碼-python環境搭建必要安裝檔案,正在整理更新中)

花了挺長時間去辦這件事情的,需要的點選我主頁就能找到這篇文章,或者直接點選下方字型跳轉:

你想要的,應有盡有!50本python學習書籍獲取地址/安裝材料/python高質量基礎進階教程