Python語法

來自ALSROBOT WiKi
2016年6月14日 (二) 13:04Arduino77討論 | 貢獻(xiàn)的版本

跳轉(zhuǎn)至: 導(dǎo)航、 搜索

Python 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。
Python 的設(shè)計具有很強(qiáng)的可讀性,相比其他語言經(jīng)常使用英文關(guān)鍵字,其他語言的一些標(biāo)點(diǎn)符號,它具有比其他語言更有特色語法結(jié)構(gòu)。
Python 是一種解釋型語言: 這意味著開發(fā)過程中沒有了編譯這個環(huán)節(jié)。類似于PHP和Perl語言。
Python 是交互式語言: 這意味著,您可以在一個Python提示符,直接互動執(zhí)行寫你的程序。
Python 是面向?qū)ο笳Z言: 這意味著Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對象的編程技術(shù)。
Python 是初學(xué)者的語言:Python 對初級程序員而言,是一種偉大的語言,它支持廣泛的應(yīng)用程序開發(fā),從簡單的文字處理到 WWW 瀏覽器再到游戲。

  1. 易于學(xué)習(xí):Python有相對較少的關(guān)鍵字,結(jié)構(gòu)簡單,和一個明確定義的語法,學(xué)習(xí)起來更加簡單。
  2. 易于閱讀:Python代碼定義的更清晰。
  3. 易于維護(hù):Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的。
  4. 一個廣泛的標(biāo)準(zhǔn)庫:Python 的最大的優(yōu)勢之一是豐富的庫,跨平臺的,在 UNIX,Windows 和 Macintosh 兼容很好。
  5. 互動模式:互動模式的支持,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言,互動的測試和調(diào)試代碼片斷。
  6. 可移植:基于其開放源代碼的特性,Python已經(jīng)被移植(也就是使其工作)到許多平臺。
  7. 可擴(kuò)展:如果你需要一段運(yùn)行很快的關(guān)鍵代碼,或者是想要編寫一些不愿開放的算法,你可以使用C或C++完成那部分程序,然后從你的Python程序中調(diào)用。
  8. 數(shù)據(jù)庫:Python提供所有主要的商業(yè)數(shù)據(jù)庫的接口。
  9. GUI編程:Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用。
  10. 可嵌入: 你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得"腳本化"的能力。


  • Raspberry Pi 的編程主要是使用 Python 語言,在Raspberry Pi系統(tǒng)升級過程中,系統(tǒng)中的Python編譯器也做出相應(yīng)的升級,Raspberry Pi 還保持使用 2.7 版本的 Python 編譯器。
  • 系統(tǒng)版本:2015 - 05 - 27 RASPBIAN JESSIE (系統(tǒng)下載地址:https://www.raspberrypi.org/downloads/raspbian/)
  • 系統(tǒng)自帶 Python 版本:Python2.7.9


首頁

Python 基礎(chǔ)語法教程
Python 基礎(chǔ)語法
Python 標(biāo)識符
Python 保留字符
行和縮進(jìn)
多行語句
Python 引號
Python注釋
Python空行
等待用戶輸入
同一行顯示多條語句
多個語句構(gòu)成代碼組
命令行參數(shù)
Python 變量類型
變量賦值
多個變量賦值
標(biāo)準(zhǔn)數(shù)據(jù)類型
Python數(shù)字
Python字符串
Python列表
Python元組
Python元字典
Python數(shù)據(jù)類型轉(zhuǎn)換
Python 運(yùn)算符
算術(shù)運(yùn)算符
比較(關(guān)系)運(yùn)算符
賦值運(yùn)算符
邏輯運(yùn)算符
位運(yùn)算符
成員運(yùn)算符
身份運(yùn)算符
運(yùn)算符優(yōu)先級
Python 語句
if 條件語句
While 循環(huán)語句
for 循環(huán)語句
Python 循環(huán)嵌套
break 語句
continue 語句
pass 語句
Python Number(數(shù)字)
Python 數(shù)據(jù)類型
Python Number 類型轉(zhuǎn)換
Python數(shù)學(xué)函數(shù)
Python隨機(jī)數(shù)函數(shù)
Python三角函數(shù)
Python數(shù)學(xué)常量
Python 字符串
Python訪問字符串中的值
Python字符串更新
Python轉(zhuǎn)義字符
Python字符串運(yùn)算符
Python字符串格式化
Python三引號
Python 列表
訪問列表中的值
更新列表
刪除列表元素
Python列表腳本操作符
Python列表截取
Python列表函數(shù)&方法
Python 元組
訪問元組
修改元組
刪除元組
元組運(yùn)算符
元組索引,截取
無關(guān)閉分隔符
元組內(nèi)置函數(shù)
Python 字典
訪問字典里的值
| 修改字典
刪除字典元素
字典鍵的特性
字典內(nèi)置函數(shù)&方法
Python 函數(shù)
定義一個函數(shù)
函數(shù)調(diào)用
按值傳遞參數(shù)和按引用傳遞參數(shù)
必備參數(shù)
關(guān)鍵字參數(shù)
缺省參數(shù)
不定長參數(shù)
匿名函數(shù)
return語句
全局變量和局部變量
return語句



Python 基礎(chǔ)語法

Python 標(biāo)識符

  • 在python里,標(biāo)識符有字母、數(shù)字、下劃線組成。
  • 在python中,所有標(biāo)識符可以包括英文、數(shù)字以及下劃線(_),但不能以數(shù)字開頭。
  • python中的標(biāo)識符是區(qū)分大小寫的。
  • 以下劃線開頭的標(biāo)識符是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問,不能用"from xxx import *"而導(dǎo)入;
  • 以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結(jié)尾的(__foo__)代表python里特殊方法專用的標(biāo)識,如__init__()代表類的構(gòu)造函數(shù)。


Python 保留字符


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

Python01.png


行和縮進(jìn)


學(xué)習(xí)Python與其他語言最大的區(qū)別就是,Python的代碼塊不使用大括號({})來控制類,函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進(jìn)來寫模塊。
縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語句必須包含相同的縮進(jìn)空白數(shù)量,這個必須嚴(yán)格執(zhí)行。如下所示:

if True:
    print "True"
else:
  print "False"
  • 以下代碼將會執(zhí)行錯誤:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py

 if True:
    print "Answer"
    print "True"
else:
    print "Answer"
    # 沒有嚴(yán)格縮進(jìn),在執(zhí)行時保持
  print "False"

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

$ python test.py  
  File "test.py", line 5
    if True:
    ^
IndentationError: unexpected indent

IndentationError: unexpected indent 錯誤是python編譯器是在告訴你"Hi,老兄,你的文件里格式不對了,可能是tab和空格沒對齊的問題",所有python對格式要求非常嚴(yán)格。 如果是 IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮進(jìn)方式不一致,有的是 tab 鍵縮進(jìn),有的是空格縮進(jìn),改為一致即可。
因此,在Python的代碼塊中必須使用相同數(shù)目的行首縮進(jìn)空格數(shù)。
建議你在每個縮進(jìn)層次使用 單個制表符 或 兩個空格 或 四個空格 , 切記不能混用

多行語句


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

Python01.png


Python 引號


Python 接收單引號(' ),雙引號(" ),三引號( """) 來表示字符串,引號的開始與結(jié)束必須的相同類型的。
其中三引號可以由多行組成,編寫多行文本的快捷語法,常用語文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。

word = 'word'
sentence = "這是一個句子。"
paragraph = """這是一個段落。
包含了多個語句"""


Python 注釋


python中單行注釋采用 # 開頭。

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

# 第一個注釋
print "Hello, Python!";  # 第二個注釋

python 中多行注釋使用三個單引號()或三個雙引號(""")。

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


'''
這是多行注釋,使用單引號。
這是多行注釋,使用單引號。
這是多行注釋,使用單引號。
'''

"""
這是多行注釋,使用雙引號。
這是多行注釋,使用雙引號。
這是多行注釋,使用雙引號。
"""


Python 空行


函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開始。
空行與代碼縮進(jìn)不同,空行并不是Python語法的一部分。書寫時不插入空行,Python解釋器運(yùn)行也不會出錯。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護(hù)或重構(gòu)。
記?。嚎招幸彩浅绦虼a的一部分。

等待用戶輸入


下面的程序在按回車鍵后就會等待用戶輸入:

#!/usr/bin/python

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

以上代碼中 ,"\n\n"在結(jié)果輸出前會輸出兩個新的空行。一旦用戶按下鍵時,程序?qū)⑼顺?

同一行顯示多條語句


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

#!/usr/bin/python

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

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

$ python test.py
runoob


多個語句構(gòu)成代碼組

縮進(jìn)相同的一組語句構(gòu)成一個代碼塊,我們稱之代碼組。
像if、while、def和class這樣的復(fù)合語句,首行以關(guān)鍵字開始,以冒號( : )結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。
我們將首行及后面的代碼組稱為一個子句(clause)。
如下實(shí)例:

if expression : 
   suite 
elif expression :  
   suite  
else :  
   suite 


命令行參數(shù)

很多程序可以執(zhí)行一些操作來查看一些基本信,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. ] 


Python 變量類型

變量賦值

Python中的變量不需要聲明,變量的賦值操作既是變量聲明和定義的過程。
每個變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識,名稱和數(shù)據(jù)這些信息。
每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。
等號(=)用來給變量賦值。
等號(=)運(yùn)算符左邊是一個變量名,等號(=)運(yùn)算符右邊是存儲在變量中的值。例如:

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

counter = 100 # 賦值整型變量
miles = 1000.0 # 浮點(diǎn)型
name = "John" # 字符串

print counter
print miles
print name


以上實(shí)例中,100,1000.0和"John"分別賦值給counter,miles,name變量。
執(zhí)行以上程序會輸出如下結(jié)果:

100
1000.0
John