“Python語(yǔ)法”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
?變量賦值
?Python 基礎(chǔ)語(yǔ)法
第279行: 第279行:
 
學(xué)習(xí)Python與其他語(yǔ)言最大的區(qū)別就是,Python的代碼塊不使用大括號(hào)({})來控制類,函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進(jìn)來寫模塊。<br>
 
學(xué)習(xí)Python與其他語(yǔ)言最大的區(qū)別就是,Python的代碼塊不使用大括號(hào)({})來控制類,函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進(jìn)來寫模塊。<br>
 
縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。如下所示:<br>
 
縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。如下所示:<br>
?
<pre style="color:green">
+
<pre style='color:blue'>
 
if True:
 
if True:
 
     print "True"
 
     print "True"
第287行: 第287行:
  
 
* 以下代碼將會(huì)執(zhí)行錯(cuò)誤:
 
* 以下代碼將會(huì)執(zhí)行錯(cuò)誤:
?
<pre style="color:green">
+
<pre style='color:blue'>
 
#!/usr/bin/python
 
#!/usr/bin/python
 
# -*- coding: UTF-8 -*-
 
# -*- coding: UTF-8 -*-
第301行: 第301行:
 
</pre>
 
</pre>
 
執(zhí)行以上代碼,會(huì)出現(xiàn)如下錯(cuò)誤提醒:
 
執(zhí)行以上代碼,會(huì)出現(xiàn)如下錯(cuò)誤提醒:
?
<pre style="color:green">
+
<pre style='color:blue'>
 
$ python test.py   
 
$ python test.py   
 
   File "test.py", line 5
 
   File "test.py", line 5
第327行: 第327行:
 
Python 接收單引號(hào)(' ),雙引號(hào)(" ),三引號(hào)(''' """) 來表示字符串,引號(hào)的開始與結(jié)束必須的相同類型的。<br>
 
Python 接收單引號(hào)(' ),雙引號(hào)(" ),三引號(hào)(''' """) 來表示字符串,引號(hào)的開始與結(jié)束必須的相同類型的。<br>
 
其中三引號(hào)可以由多行組成,編寫多行文本的快捷語(yǔ)法,常用語(yǔ)文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。<br>
 
其中三引號(hào)可以由多行組成,編寫多行文本的快捷語(yǔ)法,常用語(yǔ)文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。<br>
?
<pre style="color:green">
+
<pre style='color:blue'>
 
word = 'word'
 
word = 'word'
 
sentence = "這是一個(gè)句子。"
 
sentence = "這是一個(gè)句子。"
第339行: 第339行:
 
<br>
 
<br>
 
python中單行注釋采用 # 開頭。<br>
 
python中單行注釋采用 # 開頭。<br>
?
<pre style="color:green">
+
<pre style='color:blue'>
 
#!/usr/bin/python
 
#!/usr/bin/python
 
# -*- coding: UTF-8 -*-
 
# -*- coding: UTF-8 -*-
第349行: 第349行:
  
 
python 中多行注釋使用三個(gè)單引號(hào)(''')或三個(gè)雙引號(hào)(""")。<br>
 
python 中多行注釋使用三個(gè)單引號(hào)(''')或三個(gè)雙引號(hào)(""")。<br>
?
<pre style="color:green">
+
<pre style='color:blue'>
 
#!/usr/bin/python
 
#!/usr/bin/python
 
# -*- coding: UTF-8 -*-
 
# -*- coding: UTF-8 -*-
第381行: 第381行:
 
<br>
 
<br>
 
下面的程序在按回車鍵后就會(huì)等待用戶輸入:<br>
 
下面的程序在按回車鍵后就會(huì)等待用戶輸入:<br>
?
<pre style="color:green">
+
<pre style='color:blue'>
 
#!/usr/bin/python
 
#!/usr/bin/python
  
第393行: 第393行:
 
<br>
 
<br>
 
Python可以在同一行中使用多條語(yǔ)句,語(yǔ)句之間使用分號(hào)(;)分割,以下是一個(gè)簡(jiǎn)單的實(shí)例:<br>
 
Python可以在同一行中使用多條語(yǔ)句,語(yǔ)句之間使用分號(hào)(;)分割,以下是一個(gè)簡(jiǎn)單的實(shí)例:<br>
?
<pre style="color:green">
+
<pre style='color:blue'>
 
#!/usr/bin/python
 
#!/usr/bin/python
  
第400行: 第400行:
 
執(zhí)行以上代碼,輸入結(jié)果為:
 
執(zhí)行以上代碼,輸入結(jié)果為:
  
?
<pre style="color:green">
+
<pre style='color:blue'>
 
$ python test.py
 
$ python test.py
 
runoob
 
runoob
第412行: 第412行:
 
我們將首行及后面的代碼組稱為一個(gè)子句(clause)。<br>
 
我們將首行及后面的代碼組稱為一個(gè)子句(clause)。<br>
 
如下實(shí)例:
 
如下實(shí)例:
?
<pre style="color:green">
+
<pre style='color:blue'>
 
if expression :  
 
if expression :  
 
   suite  
 
   suite  
第425行: 第425行:
 
====命令行參數(shù)====
 
====命令行參數(shù)====
 
很多程序可以執(zhí)行一些操作來查看一些基本信,Python可以使用-h參數(shù)查看各參數(shù)幫助信息:<br>
 
很多程序可以執(zhí)行一些操作來查看一些基本信,Python可以使用-h參數(shù)查看各參數(shù)幫助信息:<br>
?
<pre style="color:green">
+
<pre style='color:blue'>
 
$ python -h  
 
$ python -h  
 
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...  
 
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...  

2016年6月14日 (二) 17:04的版本

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

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


  • Raspberry Pi 的編程主要是使用 Python 語(yǔ)言,在Raspberry Pi系統(tǒng)升級(jí)過程中,系統(tǒng)中的Python編譯器也做出相應(yīng)的升級(jí),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ǔ)語(yǔ)法教程

Python 基礎(chǔ)語(yǔ)法
Python 標(biāo)識(shí)符
Python 保留字符
行和縮進(jìn)
多行語(yǔ)句
Python 引號(hào)
Python注釋
Python空行
等待用戶輸入
同一行顯示多條語(yǔ)句
多個(gè)語(yǔ)句構(gòu)成代碼組
命令行參數(shù)
Python 變量類型
變量賦值
多個(gè)變量賦值
標(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)先級(jí)
Python 語(yǔ)句
if 條件語(yǔ)句
While 循環(huán)語(yǔ)句
for 循環(huán)語(yǔ)句
Python 循環(huán)嵌套
break 語(yǔ)句
continue 語(yǔ)句
pass 語(yǔ)句
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三引號(hào)
Python 列表
訪問列表中的值
更新列表
刪除列表元素
Python列表腳本操作符
Python列表截取
Python列表函數(shù)&方法
Python 元組
訪問元組
修改元組
刪除元組
元組運(yùn)算符
元組索引,截取
無關(guān)閉分隔符
元組內(nèi)置函數(shù)
Python 字典
訪問字典里的值
| 修改字典
刪除字典元素
字典鍵的特性
字典內(nèi)置函數(shù)&方法
Python 函數(shù)
定義一個(gè)函數(shù)
函數(shù)調(diào)用
按值傳遞參數(shù)和按引用傳遞參數(shù)
必備參數(shù)
關(guān)鍵字參數(shù)
缺省參數(shù)
不定長(zhǎng)參數(shù)
匿名函數(shù)
return語(yǔ)句
全局變量和局部變量
return語(yǔ)句


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

Python 標(biāo)識(shí)符

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


Python 保留字符


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

Python01.png


行和縮進(jìn)


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

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"
    # 沒有嚴(yán)格縮進(jìn),在執(zhí)行時(shí)保持
  print "False"

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

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

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

多行語(yǔ)句


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

Python01.png


Python 引號(hào)


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

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


Python 注釋


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

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

# 第一個(gè)注釋
print "Hello, Python!";  # 第二個(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)。
"""


Python 空行


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

等待用戶輸入


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

#!/usr/bin/python

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

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

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


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

#!/usr/bin/python

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

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

$ python test.py
runoob


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

縮進(jìn)相同的一組語(yǔ)句構(gòu)成一個(gè)代碼塊,我們稱之代碼組。
像if、while、def和class這樣的復(fù)合語(yǔ)句,首行以關(guān)鍵字開始,以冒號(hào)( : )結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。
我們將首行及后面的代碼組稱為一個(gè)子句(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中的變量不需要聲明,變量的賦值操作既是變量聲明和定義的過程。
每個(gè)變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識(shí),名稱和數(shù)據(jù)這些信息。
每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。
等號(hào)(=)用來給變量賦值。
等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值。例如:

#!/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í)行以上程序會(huì)輸出如下結(jié)果:

100
1000.0
John


多個(gè)變量賦值

Python允許你同時(shí)為多個(gè)變量賦值。例如:

a = b = c = 1


以上實(shí)例,創(chuàng)建一個(gè)整型對(duì)象,值為1,三個(gè)變量被分配到相同的內(nèi)存空間上。
您也可以為多個(gè)對(duì)象指定多個(gè)變量。例如:

a, b, c = 1, 2, "john"

以上實(shí)例,兩個(gè)整型對(duì)象1和2的分配給變量a和b,字符串對(duì)象"john"分配給變量c。

標(biāo)準(zhǔn)數(shù)據(jù)類型

在內(nèi)存中存儲(chǔ)的數(shù)據(jù)可以有多種類型。
例如,person.s年齡作為一個(gè)數(shù)值存儲(chǔ)和他或她的地址是字母數(shù)字字符存儲(chǔ)。
Python有一些標(biāo)準(zhǔn)類型用于定義操作上,他們和為他們每個(gè)人的存儲(chǔ)方法可能。
Python有五個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:

  • Numbers(數(shù)字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)


Python數(shù)字

數(shù)字?jǐn)?shù)據(jù)類型用于存儲(chǔ)數(shù)值。
他們是不可改變的數(shù)據(jù)類型,這意味著改變數(shù)字?jǐn)?shù)據(jù)類型會(huì)分配一個(gè)新的對(duì)象。
當(dāng)你指定一個(gè)值時(shí),Number對(duì)象就會(huì)被創(chuàng)建:

var1 = 1
var2 = 10


您也可以使用del語(yǔ)句刪除一些對(duì)象引用。
del語(yǔ)句的語(yǔ)法是:

del var1[,var2[,var3[....,varN]]]]

您可以通過使用del語(yǔ)句刪除單個(gè)或多個(gè)對(duì)象。例如:

del var
del var_a, var_b
  • Python支持四種不同的數(shù)字類型:

1、int(有符號(hào)整型)
2、long(長(zhǎng)整型[也可以代表八進(jìn)制和十六進(jìn)制])
3、float(浮點(diǎn)型)
4、complex(復(fù)數(shù))
注意:Python 支持復(fù)數(shù),復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示, 復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型