Python 基礎(chǔ)語(yǔ)法

python 語(yǔ)言與 perl,c 和 java 等語(yǔ)言有許多相似之處。但是,也存在一些差異。

在本章中我們將來(lái)學(xué)習(xí) python 的基礎(chǔ)語(yǔ)法,讓你快速學(xué)會(huì) python 編程。

 

1. 第一個(gè) python 程序

1) 交互式編程

交互式編程不需要?jiǎng)?chuàng)建腳本文件,是通過(guò) python 解釋器的交互模式進(jìn)來(lái)編寫代碼。

linux上你只需要在命令行中輸入 python 命令即可啟動(dòng)交互式編程,提示窗口如下:

$ 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 時(shí)已經(jīng)安裝了交互式編程客戶端,提示窗口如下:

在 python 提示符中輸入以下文本信息,然后按 enter 鍵查看運(yùn)行效果:

>>> print ("hello, python!")

在 python 2.7.6 版本中,以上實(shí)例輸出結(jié)果如下:

hello, python!

2) 腳本式編程

通過(guò)腳本參數(shù)調(diào)用解釋器開(kāi)始執(zhí)行腳本,直到腳本執(zhí)行完畢。當(dāng)腳本執(zhí)行完成后,解釋器不再有效。

讓我們寫一個(gè)簡(jiǎn)單的 python 腳本程序,所有 python 文件將以 .py 為擴(kuò)展名。將以下的源代碼拷貝至 test.py 文件中。

print ("hello, python!")

這里,假設(shè)你已經(jīng)設(shè)置了 python 解釋器 path 變量。使用以下命令運(yùn)行程序:

$ python test.py

輸出結(jié)果:

hello, python!

讓我們嘗試另一種方式來(lái)執(zhí)行 python 腳本。修改 test.py 文件,如下所示:

#!/usr/bin/python

print ("hello, python!")

這里,假定您的python解釋器在/usr/bin目錄中,使用以下命令執(zhí)行腳本:

$ chmod +x test.py     # 腳本文件添加可執(zhí)行權(quán)限
$ ./test.py

輸出結(jié)果:

hello, python!

 

2. python2.x 中使用 python3.x 的 print 函數(shù)

如果 python2.x 版本想使用使用 python3.x 的 print 函數(shù),可以導(dǎo)入 __future__ 包,該包禁用 python2.x 的 print 語(yǔ)句,采用 python3.x 的 print 函數(shù):

>>> list =["a", "b", "c"]
>>> print list    # python2.x 的 print 語(yǔ)句
['a', 'b', 'c']
>>> from __future__ import print_function  # 導(dǎo)入 __future__ 包
>>> print list     # python2.x 的 print 語(yǔ)句被禁用,使用報(bào)錯(cuò)
  file "", line 1
    print list
             ^
syntaxerror: invalid syntax
>>> print (list)   # 使用 python3.x 的 print 函數(shù)
['a', 'b', 'c']
>>> 

python3.x 與 python2.x 的許多兼容性設(shè)計(jì)的功能可以通過(guò)  __future__  這個(gè)包來(lái)導(dǎo)入。

 

3. python 標(biāo)識(shí)符

在 python 里,標(biāo)識(shí)符由字母、數(shù)字、下劃線組成。

在 python 中,所有標(biāo)識(shí)符可以包括英文、數(shù)字以及下劃線(_),但不能以數(shù)字開(kāi)頭。

python 中的標(biāo)識(shí)符是區(qū)分大小寫的。

以下劃線開(kāi)頭的標(biāo)識(shí)符是有特殊意義的。以單下劃線開(kāi)頭 _foo 的代表不能直接訪問(wèn)的類屬性,需通過(guò)類提供的接口進(jìn)行訪問(wèn),不能用 from xxx import * 而導(dǎo)入。

以雙下劃線開(kāi)頭的 __foo 代表類的私有成員,以雙下劃線開(kāi)頭和結(jié)尾的 __foo__ 代表 python 里特殊方法專用的標(biāo)識(shí),如 __init__() 代表類的構(gòu)造函數(shù)。

python 可以同一行顯示多條語(yǔ)句,方法是用分號(hào) ; 分開(kāi),如:

>>> print ('hello');print ('yapf');
hello
yapf

 

4. python 保留字符

下面的列表顯示了在python中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識(shí)符名稱,所有 python 的關(guān)鍵字只包含小寫字母。

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

 

5. 行和縮進(jìn)

學(xué)習(xí) python 與其他語(yǔ)言最大的區(qū)別就是,python 的代碼塊不使用大括號(hào) {} 來(lái)控制類,函數(shù)以及其他邏輯判斷。python 最具特色的就是用縮進(jìn)來(lái)寫模塊。

縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。

以下實(shí)例縮進(jìn)為四個(gè)空格:

if true:
    print ("true")
else:
    print ("false")

以下代碼將會(huì)執(zhí)行錯(cuò)誤:

 
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 文件名:test.py

if true:
    print ("answer")
    print ("true")
else:
    print ("answer")
    # 沒(méi)有嚴(yán)格縮進(jìn),在執(zhí)行時(shí)會(huì)報(bào)錯(cuò)
  print ("false")

執(zhí)行以上代碼,會(huì)出現(xiàn)如下錯(cuò)誤提醒:

  file "test.py", line 11
    print ("false")
                  ^
indentationerror: unindent does not match any outer indentation level

indentationerror: unindent does not match any outer indentation level錯(cuò)誤表明,你使用的縮進(jìn)方式不一致,有的是 tab 鍵縮進(jìn),有的是空格縮進(jìn),改為一致即可。

如果是 indentationerror: unexpected indent 錯(cuò)誤, 則 python 編譯器是在告訴你"hi,老兄,你的文件里格式不對(duì)了,可能是tab和空格沒(méi)對(duì)齊的問(wèn)題",所有 python 對(duì)格式要求非常嚴(yán)格。

因此,在 python 的代碼塊中必須使用相同數(shù)目的行首縮進(jìn)空格數(shù)。

建議你在每個(gè)縮進(jìn)層次使用 單個(gè)制表符 或 兩個(gè)空格 或 四個(gè)空格 , 切記不能混用

 

6. 多行語(yǔ)句

python語(yǔ)句中一般以新行作為語(yǔ)句的結(jié)束符,但是我們可以使用斜杠( \)將一行的語(yǔ)句分為多行顯示,如下所示:

total = item_one + \
        item_two + \
        item_three

語(yǔ)句中包含 [], {} 或 () 括號(hào)就不需要使用多行連接符。如下實(shí)例:

days = ['monday', 'tuesday', 'wednesday',
        'thursday', 'friday']

 

7. python 引號(hào)

python 可以使用引號(hào)( ' )、雙引號(hào)( " )、三引號(hào)( ''' 或 """ ) 來(lái)表示字符串,引號(hào)的開(kāi)始與結(jié)束必須是相同類型的。

其中三引號(hào)可以由多行組成,編寫多行文本的快捷語(yǔ)法,常用于文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。

word = 'word'
sentence = "這是一個(gè)句子。"
paragraph = """這是一個(gè)段落。
包含了多個(gè)語(yǔ)句"""

 

8. python注釋

python中單行注釋采用 # 開(kāi)頭。

#!/usr/bin/python
# -*- coding: utf-8 -*-
# 文件名:test.py

# 第一個(gè)注釋
print ("hello, python!")  # 第二個(gè)注釋

輸出結(jié)果:

hello, python!

注釋可以在語(yǔ)句或表達(dá)式行末:

name = "madisetti" # 這是一個(gè)注釋

python 中多行注釋使用三個(gè)單引號(hào)(''')或三個(gè)雙引號(hào)(""")。

#!/usr/bin/python
# -*- coding: utf-8 -*-
# 文件名:test.py

'''
這是多行注釋,使用單引號(hào)。
這是多行注釋,使用單引號(hào)。
這是多行注釋,使用單引號(hào)。
'''

"""
這是多行注釋,使用雙引號(hào)。
這是多行注釋,使用雙引號(hào)。
這是多行注釋,使用雙引號(hào)。
"""

 

9. python空行

函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開(kāi)始。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開(kāi)始。

空行與代碼縮進(jìn)不同,空行并不是python語(yǔ)法的一部分。書寫時(shí)不插入空行,python解釋器運(yùn)行也不會(huì)出錯(cuò)。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護(hù)或重構(gòu)。

記?。嚎招幸彩浅绦虼a的一部分。

 

10. 等待用戶輸入

下面的程序執(zhí)行后就會(huì)等待用戶輸入,按回車鍵后就會(huì)退出:

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

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

以上代碼中 ,\n 實(shí)現(xiàn)換行。一旦用戶按下 enter(回車) 鍵退出,其它鍵顯示。

 

11. 同一行顯示多條語(yǔ)句

python可以在同一行中使用多條語(yǔ)句,語(yǔ)句之間使用分號(hào)(;)分割,以下是一個(gè)簡(jiǎn)單的實(shí)例:

#!/usr/bin/python

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

執(zhí)行以上代碼,輸入結(jié)果為:

$ python test.py
yapf

 

12. print 輸出

print 默認(rèn)輸出是換行的,如果要實(shí)現(xiàn)不換行需要在變量末尾加上逗號(hào)(,) 。

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

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

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

# 不換行輸出
print x,y

以上實(shí)例執(zhí)行結(jié)果為:

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

 

13. 多個(gè)語(yǔ)句構(gòu)成代碼組

縮進(jìn)相同的一組語(yǔ)句構(gòu)成一個(gè)代碼塊,我們稱之代碼組。

像if、while、def和class這樣的復(fù)合語(yǔ)句,首行以關(guān)鍵字開(kāi)始,以冒號(hào)( : )結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。

我們將首行及后面的代碼組稱為一個(gè)子句(clause)。

如下實(shí)例:

if expression : 
   suite 
elif expression :  
   suite  
else :  
   suite 

 

14. 命令行參數(shù)

很多程序可以執(zhí)行一些操作來(lái)查看一些基本信息,python 可以使用 -h 參數(shù)查看各參數(shù)幫助信息:

$ 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. ] 

我們?cè)谑褂媚_本形式執(zhí)行 python 時(shí),可以接收命令行輸入的參數(shù),具體使用可以參照 python 命令行參數(shù)。

下一節(jié):python 變量類型

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频