




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Python 基礎(chǔ)教程Python是一種解釋型、面向?qū)ο?、?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語言。Python由Guido van Rossum于1989年底發(fā)明,第一個(gè)公開發(fā)行版發(fā)行于1991年。像Perl語言一樣, Python 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議。現(xiàn)在開始學(xué)習(xí) Python!誰適合閱讀本教程?本教程適合想從零開始學(xué)習(xí)Python編程語言的開發(fā)人員。當(dāng)然本教程也會(huì)對(duì)一些模塊進(jìn)行深入,讓你更好的了解Python的應(yīng)用。學(xué)習(xí)本教程前你需要了解在繼續(xù)本教程之前,你應(yīng)該了解一些基本的計(jì)算機(jī)編程術(shù)語。如果你學(xué)習(xí)過PHP,ASP等編程語言,將有助
2、于你更快的了解Python編程。執(zhí)行Python程序?qū)τ诖蠖鄶?shù)程序語言,第一個(gè)入門編程代碼便是"Hello World!",以下代碼為使用Python輸出"Hello World!":實(shí)例(Python 2.0+)#!/usr/bin/pythonprint "Hello, World!"運(yùn)行實(shí)例 »Python 3.0+版本已經(jīng)把print作為一個(gè)內(nèi)置函數(shù),正確輸出"Hello World!"代碼如下:實(shí)例(Python 3.0+)#!/usr/bin/pythonprint("Hello,
3、World!"); Python 簡介Python 是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言。Python 的設(shè)計(jì)具有很強(qiáng)的可讀性,相比其他語言經(jīng)常使用英文關(guān)鍵字,其他語言的一些標(biāo)點(diǎn)符號(hào),它具有比其他語言更有特色語法結(jié)構(gòu)。 Python 是一種解釋型語言: 這意味著開發(fā)過程中沒有了編譯這個(gè)環(huán)節(jié)。類似于PHP和Perl語言。 Python 是交互式語言: 這意味著,您可以在一個(gè)Python提示符,直接互動(dòng)執(zhí)行寫你的程序。 Python 是面向?qū)ο笳Z言: 這意味著Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對(duì)象的編程技術(shù)。 Python 是初學(xué)者的語言:Python
4、對(duì)初級(jí)程序員而言,是一種偉大的語言,它支持廣泛的應(yīng)用程序開發(fā),從簡單的文字處理到 WWW 瀏覽器再到游戲。Python 發(fā)展歷史Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來的。Python 本身也是由諸多其他語言發(fā)展而來的,這包括 ABC、Modula-3、C、C+、Algol-68、SmallTalk、Unix shell 和其他的腳本語言等等。像 Perl 語言一樣,Python 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議。現(xiàn)在 Python 是由一個(gè)核心開發(fā)團(tuán)隊(duì)在維護(hù),Gu
5、ido van Rossum 仍然占據(jù)著至關(guān)重要的作用,指導(dǎo)其進(jìn)展。Python 特點(diǎn) 1.易于學(xué)習(xí):Python有相對(duì)較少的關(guān)鍵字,結(jié)構(gòu)簡單,和一個(gè)明確定義的語法,學(xué)習(xí)起來更加簡單。 2.易于閱讀:Python代碼定義的更清晰。 3.易于維護(hù):Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的。 4.一個(gè)廣泛的標(biāo)準(zhǔn)庫:Python的最大的優(yōu)勢(shì)之一是豐富的庫,跨平臺(tái)的,在UNIX,Windows和Macintosh兼容很好。 5.互動(dòng)模式:互動(dòng)模式的支持,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言,互動(dòng)的測試和調(diào)試代碼片斷。 6.可移植:基于其開放源代碼的特性,Python已經(jīng)被移植(也就是使其工
6、作)到許多平臺(tái)。 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+程序,讓你的程序的用戶獲得"腳本化"的能力。Python 環(huán)境搭建本章節(jié)我們將向大家介紹如何在本地搭建Python開發(fā)環(huán)境。Python可應(yīng)用于多平臺(tái)包括 Linux 和 Mac OS X。你可以通過終端窗口輸入 "pyth
7、on" 命令來查看本地是否已經(jīng)安裝Python以及Python的安裝版本。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。) Win 9x/NT/2000 Macintosh (Intel, PPC, 68K) OS/2 DOS (多個(gè)DOS版本) PalmOS Nokia 移動(dòng)手機(jī) Windows CE Acorn/RISC OS BeOS Amiga VMS/OpenVMS QNX VxWorks Psion Python 同樣可以移植到 Java 和 .NET 虛擬機(jī)上。Python下載Python最新源碼
8、,二進(jìn)制文檔,新聞資訊等可以在Python的官網(wǎng)查看到:Python官網(wǎng):/你可以在一下鏈接中下載Python的文檔,你可以下載 HTML、PDF 和 PostScript 等格式的文檔。Python文檔下載地址:/doc/Python安裝Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過改動(dòng)使它能夠工作在不同平臺(tái)上)。您需要下載適用于您使用平臺(tái)的二進(jìn)制代碼,然后安裝Python。如果您平臺(tái)的二進(jìn)制代碼是不可用的,你需要使用C編譯器手動(dòng)編譯源代碼。編譯的源代碼,功能上有更多的選擇性, 為python安裝提供了更多的靈活性。以下為不同平臺(tái)
9、上安裝Python的方法:Unix & Linux 平臺(tái)安裝 Python:以下為在Unix & Linux 平臺(tái)上安裝 Python 的簡單步驟: 打開WEB瀏覽器訪問/download/ 選擇適用于Unix/Linux的源碼壓縮包。 下載及解壓壓縮包。 如果你需要自定義一些選項(xiàng)修改Modules/Setup 執(zhí)行 ./configure 腳本 make make install執(zhí)行以上操作后,Python會(huì)安裝在 /usr/local/bin 目錄中,Python庫安裝在/usr/local/lib/pythonXX,XX為你使用的P
10、ython的版本號(hào)。Window 平臺(tái)安裝 Python:以下為在 Window 平臺(tái)上安裝 Python 的簡單步驟: 打開WEB瀏覽器訪問/download/ 在下載列表中選擇Window平臺(tái)安裝包,包格式為:python-XYZ.msi 文件 , XYZ 為你要安裝的版本號(hào)。 要使用安裝程序 python-XYZ.msi, Windows系統(tǒng)必須支持Microsoft Installer 2.0搭配使用。只要保存安裝文件到本地計(jì)算機(jī),然后運(yùn)行它,看看你的機(jī)器支持MSI。Windows XP和更高版本已經(jīng)有MSI,很多老機(jī)器也可以安裝MSI。 下載后
11、,雙擊下載包,進(jìn)入Python安裝向?qū)?,安裝非常簡單,你只需要使用默認(rèn)的設(shè)置一直點(diǎn)擊"下一步"直到安裝完成即可。MAC 平臺(tái)安裝 Python:最近的Macs系統(tǒng)都自帶有Python環(huán)境,你也可以在鏈接 /download/ 上下載最新版安裝。環(huán)境變量配置程序和可執(zhí)行文件可以在許多目錄,而這些路徑很可能不在操作系統(tǒng)提供可執(zhí)行文件的搜索路徑中。path(路徑)存儲(chǔ)在環(huán)境變量中,這是由操作系統(tǒng)維護(hù)的一個(gè)命名的字符串。這些變量包含可用的命令行解釋器和其他程序的信息。Unix或Windows中路徑變量為PATH(UNIX區(qū)分大小寫,Windo
12、ws不區(qū)分大小寫)。在Mac OS中,安裝程序過程中改變了python的安裝路徑。如果你需要在其他目錄引用Python,你必須在path中添加Python目錄。在 Unix/Linux 設(shè)置環(huán)境變量 在 csh shell: 輸入 setenv PATH "$PATH:/usr/local/bin/python" , 按下"Enter"。 在 bash shell (Linux): 輸入 export PATH="$PATH:/usr/local/bin/python" ,按下"Enter"。 在 sh 或者 ks
13、h shell: 輸入 PATH="$PATH:/usr/local/bin/python" , 按下"Enter"。注意: /usr/local/bin/python 是Python的安裝目錄。在 Windows 設(shè)置環(huán)境變量在環(huán)境變量中添加Python目錄:在命令提示框中(cmd) : 輸入path=%path%;C:Python 按下"Enter"。注意: C:Python 是Python的安裝目錄。也可以通過以下方式設(shè)置: 右鍵點(diǎn)擊"計(jì)算機(jī)",然后點(diǎn)擊"屬性" 然后點(diǎn)擊"高級(jí)系
14、統(tǒng)設(shè)置" 選擇"系統(tǒng)變量"窗口下面的"Path",雙擊即可! 然后在"Path"行,添加python安裝路徑即可(我的D:Python32),所以在后面,添加該路徑即可。 ps:記住,路徑直接用分號(hào)";"隔開!最后設(shè)置成功以后,在cmd命令行,輸入命令"python",就可以有相關(guān)顯示。Python 環(huán)境變量下面幾個(gè)重要的環(huán)境變量,它應(yīng)用于Python:變量名描述PYTHONPATHPYTHONPATH是Python搜索路徑,默認(rèn)我們import的模塊都會(huì)從PYTHONPATH里面尋找
15、。PYTHONSTARTUP Python啟動(dòng)后,先尋找PYTHONSTARTUP環(huán)境變量,然后執(zhí)行此文件中變量指定的執(zhí)行代碼。PYTHONCASEOK 加入PYTHONCASEOK的環(huán)境變量, 就會(huì)使python導(dǎo)入模塊的時(shí)候不區(qū)分大小寫.PYTHONHOME 另一種模塊搜索路徑。它通常內(nèi)嵌于的PYTHONSTARTUP或PYTHONPATH目錄中,使得兩個(gè)模塊庫更容易切換。運(yùn)行Python有三種方式可以運(yùn)行Python:1、交互式解釋器:你可以通過命令行窗口進(jìn)入python并開在交互式解釋器中開始編寫Python代碼。你可以在Unix,DOS或任何其他提供了命令行或者shell的系統(tǒng)進(jìn)行p
16、ython編碼工作。$ python # Unix/Linux或者C:>python # Windows/DOS以下為Python命令行參數(shù):選項(xiàng)描述-d在解析時(shí)顯示調(diào)試信息-O生成優(yōu)化代碼 ( .pyo 文件 )-S啟動(dòng)時(shí)不引入查找Python路徑的位置-V輸出Python版本號(hào)-X從 1.6版本之后基于內(nèi)建的異常(僅僅用于字符串)已過時(shí)。-c cmd執(zhí)行 Python 腳本,并將運(yùn)行結(jié)果作為 cmd 字符串。file在給定的python文件執(zhí)行python腳本。2、命令行腳本在你的應(yīng)用程序中通過引入解釋器可以在命令行中執(zhí)行Python腳本,如下所示:$ python script.p
17、y # Unix/Linux或者C:>python script.py # Windows/DOS注意:在執(zhí)行腳本時(shí),請(qǐng)檢查腳本是否有可執(zhí)行權(quán)限。3、集成開發(fā)環(huán)境(IDE:Integrated Development Environment)您可以使用圖形用戶界面(GUI)環(huán)境來編寫及運(yùn)行Python代碼。以下推薦各個(gè)平臺(tái)上使用的IDE: Unix: IDLE 是 UNIX 上最早的 Python IDE 。 Windows: PythonWin 是一個(gè) Python 集成開發(fā)環(huán)境,在許多方面都比 IDE 優(yōu)秀 Macintosh: Python 的 Mac 可以使用 IDLE IDE,
18、你可以在網(wǎng)站上下載對(duì)應(yīng)MAC的IDLE 。繼續(xù)下一章之前,請(qǐng)確保您的環(huán)境已搭建成功。如果你不能夠建立正確的環(huán)境,那么你就可以從您的系統(tǒng)管理員的幫助。在以后的章節(jié)中給出的例子已在 Python2.7.6 版本測試通過。Python 中文編碼前面章節(jié)中我們已經(jīng)學(xué)會(huì)了如何用 Python 輸出 "Hello, World!",英文沒有問題,但是如果你輸出中文字符"你好,世界"就有可能會(huì)碰到中文編碼問題。Python 文件中如果未指定編碼,在執(zhí)行過程會(huì)出現(xiàn)報(bào)錯(cuò):#!/usr/bin/pythonprint "你好,世界"以上程序執(zhí)行輸出結(jié)果為
19、: File "test.py", line 2SyntaxError: Non-ASCII character 'xe4' in file test.py on line 2, but no encoding declared; see /peps/pep-0263.html for detailsPython中默認(rèn)的編碼格式是 ASCII 格式,在沒修改編碼格式時(shí)無法正確打印漢字,所以在讀取中文時(shí)會(huì)報(bào)錯(cuò)。解決方法為只要在文件開頭加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8
20、就行了。實(shí)例(Python 2.0+)#!/usr/bin/python# -*- coding: UTF-8 -*-print "你好,世界" 輸出結(jié)果為:你好,世界所以如果大家再學(xué)習(xí)過程中,代碼中包含中文,就需要在頭部指定編碼。注意:Python3.X 源碼文件默認(rèn)使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。 注意:如果你使用編輯器,同時(shí)需要設(shè)置好編輯器的編碼,如 Pycharm 設(shè)置步驟: 進(jìn)入 file > Settings,在輸入框搜索 encoding。 找到 Editor > File encodings,將 IDE En
21、coding 和 Project Encoding 設(shè)置為utf-8。Python 基礎(chǔ)語法Python語言與Perl,C和Java等語言有許多相似之處。但是,也存在一些差異。在本章中我們將來學(xué)習(xí)Python的基礎(chǔ)語法,讓你快速學(xué)會(huì)Python編程。第一個(gè)Python程序交互式編程交互式編程不需要?jiǎng)?chuàng)建腳本文件,是通過 Python 解釋器的交互模式進(jìn)來編寫代碼。linux上你只需要在命令行中輸入 Python 命令即可啟動(dòng)交互式編程,提示窗口如下:$ pythonPython 2.7.6 (default, Sep 9 2014, 15:04:36) GCC 4.2.1 Compatible
22、Apple LLVM 6.0 (clang-600.0.39) on darwinType "help", "copyright", "credits" or "license" for more information.>>> Window上在安裝Python時(shí)已經(jīng)已經(jīng)安裝了默認(rèn)的交互式編程客戶端,提示窗口如下:在 python 提示符中輸入以下文本信息,然后按 Enter 鍵查看運(yùn)行效果:>>> print "Hello, Python!"在 Python
23、 2.7.6 版本中,以上實(shí)例輸出結(jié)果如下:Hello, Python!腳本式編程通過腳本參數(shù)調(diào)用解釋器開始執(zhí)行腳本,直到腳本執(zhí)行完畢。當(dāng)腳本執(zhí)行完成后,解釋器不再有效。讓我們寫一個(gè)簡單的Python腳本程序。所有Python文件將以.py為擴(kuò)展名。將以下的源代碼拷貝至test.py文件中。print "Hello, Python!"這里,假設(shè)你已經(jīng)設(shè)置了Python解釋器PATH變量。使用以下命令運(yùn)行程序:$ python test.py輸出結(jié)果:Hello, Python!讓我們嘗試另一種方式來執(zhí)行Python腳本。修改test.py文件,如下所示:#!/usr/bin
24、/pythonprint "Hello, Python!"這里,假定您的Python解釋器在/usr/bin目錄中,使用以下命令執(zhí)行腳本:$ chmod +x test.py # 腳本文件添加可執(zhí)行權(quán)限$ ./test.py輸出結(jié)果:Hello, Python!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)行訪問,不能用&q
25、uot;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)鍵字只包含小寫字母。andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileelseiswith
26、 exceptlambdayield行和縮進(jìn)學(xué)習(xí)Python與其他語言最大的區(qū)別就是,Python的代碼塊不使用大括號(hào)()來控制類,函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進(jìn)來寫模塊??s進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語句必須包含相同的縮進(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
27、" 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 indentIndentationError: unexpected indent 錯(cuò)誤是python編譯器是在告訴你"Hi,老兄,你的文件里格式不對(duì)了,可能是tab和空格沒對(duì)齊的問
28、題",所有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è)空格 , 切記不能混用多行語句Python語句中一般以新行作為為語句的結(jié)束符。但是我們可以使用斜杠( )將一行的語句分為多行顯示,如下所示:total = item_one + item_t
29、wo + item_three語句中包含, 或 () 括號(hào)就不需要使用多行連接符。如下實(shí)例:days = 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'Python 引號(hào)Python 接收單引號(hào)(' ),雙引號(hào)(" ),三引號(hào)(''' """) 來表示字符串,引號(hào)的開始與結(jié)束必須的相同類型的。 其中三引號(hào)可以由多行組成,編寫多行文本的快捷語法,常用語文檔字符串,在文件的特定地點(diǎn),被當(dāng)
30、做注釋。word = 'word'sentence = "這是一個(gè)句子。"paragraph = """這是一個(gè)段落。包含了多個(gè)語句"""Python注釋python中單行注釋采用 # 開頭。#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:test.py# 第一個(gè)注釋print "Hello, Python!" # 第二個(gè)注釋輸出結(jié)果:Hello, Python!注釋可以在語句或表達(dá)式行末:name = "Madisetti&
31、quot; # 這是一個(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ù)之間或類的方法之間用空行分隔,表
32、示一段新的代碼的開始。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開始??招信c代碼縮進(jìn)不同,空行并不是Python語法的一部分。書寫時(shí)不插入空行,Python解釋器運(yùn)行也不會(huì)出錯(cuò)。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護(hù)或重構(gòu)。記?。嚎招幸彩浅绦虼a的一部分。等待用戶輸入下面的程序在按回車鍵后就會(huì)等待用戶輸入:#!/usr/bin/pythonraw_input("nnPress the enter key to exit.")以上代碼中 ,"nn"在結(jié)果輸出前會(huì)輸出兩個(gè)新的空行。一旦用戶按下鍵時(shí),程序?qū)⑼顺觥M恍酗@示多
33、條語句Python可以在同一行中使用多條語句,語句之間使用分號(hào)(;)分割,以下是一個(gè)簡單的實(shí)例:#!/usr/bin/pythonimport sys; x = 'runoob' sys.stdout.write(x + 'n')執(zhí)行以上代碼,輸入結(jié)果為:$ python test.pyrunoob多個(gè)語句構(gòu)成代碼組縮進(jìn)相同的一組語句構(gòu)成一個(gè)代碼塊,我們稱之代碼組。像if、while、def和class這樣的復(fù)合語句,首行以關(guān)鍵字開始,以冒號(hào)( : )結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。我們將首行及后面的代碼組稱為一個(gè)子句(clause)。如下實(shí)例:if
34、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)
35、 -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ù)。Python 變量類型變量存儲(chǔ)在內(nèi)存中的值。這就意味著在創(chuàng)建變量時(shí)會(huì)在內(nèi)存中開辟一個(gè)空間。基于變量的數(shù)據(jù)類型,解釋器會(huì)分配指定內(nèi)存,并決定什么數(shù)據(jù)可以被存儲(chǔ)在內(nèi)存中。因此,變量可以指定不同
36、的數(shù)據(jù)類型,這些變量可以存儲(chǔ)整數(shù),小數(shù)或字符。變量賦值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 counterprint milesprint
37、 name運(yùn)行實(shí)例 » 以上實(shí)例中,100,1000.0和"John"分別賦值給counter,miles,name變量。執(zhí)行以上程序會(huì)輸出如下結(jié)果:1001000.0John多個(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ù)可
38、以有多種類型。例如,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ù)字?jǐn)?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 = 1var2 = 10 您也可以使用del語句刪除一些
39、對(duì)象的引用。del語句的語法是:del var1,var2,var3.,varN 您可以通過使用del語句刪除單個(gè)或多個(gè)對(duì)象的引用。例如:del vardel var_a, var_b Python支持四種不同的數(shù)字類型:· int(有符號(hào)整型)· long(長整型也可以代表八進(jìn)制和十六進(jìn)制) · float(浮點(diǎn)型) · complex(復(fù)數(shù)) 實(shí)例 一些數(shù)值類型的實(shí)例:intlongfloatcomplex1051924361L0.03.14j100-0x19323L15.2045.j-7860122L-21.99.322e-36j0800xDEFA
40、BCECBDAECBFBAEl32.3+e18.876j-0490535633629843L-90.-.6545+0J-0x260-052318172735L-32.54e1003e+26J0x69-4721885298529L70.2-E124.53e-7j· 長整型也可以使用小寫"L",但是還是建議您使用大寫"L",避免與數(shù)字"1"混淆。Python使用"L"來顯示長整型。· Python還支持復(fù)數(shù),復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示, 復(fù)數(shù)的
41、實(shí)部a和虛部b都是浮點(diǎn)型 Python字符串字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。一般記為 :s="a1a2···an"(n>=0)它是編程語言中表示文本的數(shù)據(jù)類型。 python的字串列表有2種取值順序:· 從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1· 從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭如果你的實(shí)要取得一段子串的話,可以用到變量頭下標(biāo):尾下標(biāo),就可以截取相應(yīng)的字符串,其中下標(biāo)是從0開始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。比如:s = 'ilove
42、python' s1:5的結(jié)果是love。當(dāng)使用以冒號(hào)分隔的字符串,python返回一個(gè)新的對(duì)象,結(jié)果包含了以這對(duì)偏移標(biāo)識(shí)的連續(xù)的內(nèi)容,左邊的開始是包含了下邊界。上面的結(jié)果包含了s1的值l,而取到的最大范圍不包括上邊界,就是s5的值p。加號(hào)(+)是字符串連接運(yùn)算符,星號(hào)(*)是重復(fù)操作。如下實(shí)例:#!/usr/bin/python# -*- coding: UTF-8 -*-str = 'Hello World!'print str # 輸出完整字符串print str0 # 輸出字符串中的第一個(gè)字符print str2:5 # 輸出字符串中第三個(gè)至第五個(gè)之間的字符串p
43、rint str2: # 輸出從第三個(gè)字符開始的字符串print str * 2 # 輸出字符串兩次print str + "TEST" # 輸出連接的字符串 以上實(shí)例輸出結(jié)果:Hello World!Hllollo World!Hello World!Hello World!Hello World!TESTPython列表List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型。列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(所謂嵌套)。列表用 標(biāo)識(shí)。是python最通用的復(fù)合數(shù)據(jù)類型。看這段代碼就明白。列表中的值得分割也可以用到變量頭
44、下標(biāo):尾下標(biāo),就可以截取相應(yīng)的列表,從左到右索引默認(rèn)0開始的,從右到左索引默認(rèn)-1開始,下標(biāo)可以為空表示取到頭或尾。加號(hào)(+)是列表連接運(yùn)算符,星號(hào)(*)是重復(fù)操作。如下實(shí)例:#!/usr/bin/python# -*- coding: UTF-8 -*-list = 'abcd', 786 , 2.23, 'john', 70.2 tinylist = 123, 'john'print list # 輸出完整列表print list0 # 輸出列表的第一個(gè)元素print list1:3 # 輸出第二個(gè)至第三個(gè)的元素 print list2: #
45、 輸出從第三個(gè)開始至列表末尾的所有元素print tinylist * 2 # 輸出列表兩次print list + tinylist # 打印組合的列表以上實(shí)例輸出結(jié)果:'abcd', 786, 2.23, 'john', 70.2abcd786, 2.232.23, 'john', 70.2123, 'john', 123, 'john''abcd', 786, 2.23, 'john', 70.2, 123, 'john'Python元組元組是另一個(gè)數(shù)據(jù)類型,類
46、似于List(列表)。元組用"()"標(biāo)識(shí)。內(nèi)部元素用逗號(hào)隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。#!/usr/bin/python# -*- coding: UTF-8 -*-tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )tinytuple = (123, 'john')print tuple # 輸出完整元組print tuple0 # 輸出元組的第一個(gè)元素print tuple1:3 # 輸出第二個(gè)至第三個(gè)的元素 print tuple2: # 輸出從第三個(gè)開始至列表末尾的所有
47、元素print tinytuple * 2 # 輸出元組兩次print tuple + tinytuple # 打印組合的元組以上實(shí)例輸出結(jié)果:('abcd', 786, 2.23, 'john', 70.2)abcd(786, 2.23)(2.23, 'john', 70.2)(123, 'john', 123, 'john')('abcd', 786, 2.23, 'john', 70.2, 123, 'john')以下是元組無效的,因?yàn)樵M是不允許更新的。而列表
48、是允許更新的:#!/usr/bin/python# -*- coding: UTF-8 -*-tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )list = 'abcd', 786 , 2.23, 'john', 70.2 tuple2 = 1000 # 元組中是非法應(yīng)用list2 = 1000 # 列表中是合法應(yīng)用Python元字典字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對(duì)象結(jié)合,字典是無序的對(duì)象集合。 兩者之間的區(qū)別在于:字典當(dāng)中的元素
49、是通過鍵來存取的,而不是通過偏移存取。 字典用" "標(biāo)識(shí)。字典由索引(key)和它對(duì)應(yīng)的值value組成。#!/usr/bin/python# -*- coding: UTF-8 -*-dict = dict'one' = "This is one"dict2 = "This is two"tinydict = 'name': 'john','code':6734, 'dept': 'sales'print dict'one'
50、; # 輸出鍵為'one' 的值print dict2 # 輸出鍵為 2 的值print tinydict # 輸出完整的字典print tinydict.keys() # 輸出所有鍵print tinydict.values() # 輸出所有值輸出結(jié)果為:This is one This is two 'dept': 'sales', 'code': 6734, 'name': 'john' 'dept', 'code', 'name' 's
51、ales', 6734, 'john' Python數(shù)據(jù)類型轉(zhuǎn)換有時(shí)候,我們需要對(duì)數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,你只需要將數(shù)據(jù)類型作為函數(shù)名即可。以下幾個(gè)內(nèi)置的函數(shù)可以執(zhí)行數(shù)據(jù)類型之間的轉(zhuǎn)換。這些函數(shù)返回一個(gè)新的對(duì)象,表示轉(zhuǎn)換的值。函數(shù)描述int(x ,base)將x轉(zhuǎn)換為一個(gè)整數(shù)long(x ,base )將x轉(zhuǎn)換為一個(gè)長整數(shù)float(x)將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)complex(real ,imag)創(chuàng)建一個(gè)復(fù)數(shù)str(x)將對(duì)象 x 轉(zhuǎn)換為字符串repr(x)將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串eval(str)用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一
52、個(gè)對(duì)象tuple(s)將序列 s 轉(zhuǎn)換為一個(gè)元組list(s)將序列 s 轉(zhuǎn)換為一個(gè)列表set(s)轉(zhuǎn)換為可變集合dict(d)創(chuàng)建一個(gè)字典。d 必須是一個(gè)序列 (key,value)元組。frozenset(s)轉(zhuǎn)換為不可變集合chr(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符unichr(x)將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符ord(x)將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值hex(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串oct(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串Python 運(yùn)算符什么是運(yùn)算符?本章節(jié)主要說明Python的運(yùn)算符。舉個(gè)簡單的例子 4 +5 = 9 。 例子中,4 和 5 被稱為操作數(shù),"
53、+" 稱為運(yù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í)接下來讓我們一個(gè)個(gè)來學(xué)習(xí)Python的運(yùn)算符。Python算術(shù)運(yùn)算符以下假設(shè)變量a為10,變量b為20:運(yùn)算符描述實(shí)例+加 - 兩個(gè)對(duì)象相加a + b 輸出結(jié)果 30-減 - 得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù)a - b 輸出結(jié)果 -10*乘 - 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串a(chǎn) * b 輸出結(jié)果 200/除 - x除以yb
54、 / a 輸出結(jié)果 2%取模 - 返回除法的余數(shù)b % a 輸出結(jié)果 0*冪 - 返回x的y次冪a*b 為10的20次方, 輸出結(jié)果 100000000000000000000/取整除 - 返回商的整數(shù)部分9/2 輸出結(jié)果 4 , 9.0/2.0 輸出結(jié)果 4.0以下實(shí)例演示了Python所有算術(shù)運(yùn)算符的操作:#!/usr/bin/python# -*- coding: UTF-8 -*-a = 21b = 10c = 0c = a + bprint "1 - c 的值為:", cc = a - bprint "2 - c 的值為:", c c = a
55、* bprint "3 - c 的值為:", c c = a / bprint "4 - c 的值為:", c c = a % bprint "5 - c 的值為:", c# 修改變量 a 、b 、ca = 2b = 3c = a*b print "6 - c 的值為:", ca = 10b = 5c = a/b print "7 - c 的值為:", c嘗試一下 »以上實(shí)例輸出結(jié)果:1 - c 的值為: 312 - c 的值為: 113 - c 的值為: 2104 - c 的值為:
56、25 - c 的值為: 16 - c 的值為: 87 - c 的值為: 2Python比較運(yùn)算符以下假設(shè)變量a為10,變量b為20:運(yùn)算符描述實(shí)例=等于 - 比較對(duì)象是否相等(a = b) 返回 False。 !=不等于 - 比較兩個(gè)對(duì)象是否不相等(a != b) 返回 true. <>不等于 - 比較兩個(gè)對(duì)象是否不相等(a <> b) 返回 true。這個(gè)運(yùn)算符類似 != 。>大于 - 返回x是否大于y(a > b) 返回 False。<小于 - 返回x是否小于y。所有比較運(yùn)算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價(jià)。
57、注意,這些變量名的大寫。(a < b) 返回 true。 >=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。 以下實(shí)例演示了Python所有比較運(yùn)算符的操作:#!/usr/bin/python# -*- coding: UTF-8 -*-a = 21b = 10c = 0if ( a = b ): print "1 - a 等于 b"else: print "1 - a 不等于 b"if ( a != b ): print &
58、quot;2 - a 不等于 b"else: print "2 - a 等于 b"if ( a <> b ): print "3 - a 不等于 b"else: print "3 - a 等于 b"if ( a < b ): print "4 - a 小于 b" else: print "4 - a 大于等于 b"if ( a > b ): print "5 - a 大于 b"else: print "5 - a 小于等于 b"# 修改變量 a 和 b 的值a = 5;b = 20;if ( a <= b ): print "6 - a 小于等于 b"else: print "6 - a 大于 b"if ( b >= a ): print "7 - b 大于等于 b"else: print "7 - b 小于 b"以上實(shí)例輸出結(jié)果:1 - a 不等于 b2 - a 不等于 b3 - a 不等于 b4 - a 大于等于 b5 - a 大于 b6 - a 小于等于 b7 - b 大于等
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品采購藥庫管理制度
- 藥店中藥入庫管理制度
- 藥店庫房貨位管理制度
- 論述人力資源管理制度
- 設(shè)備創(chuàng)建流程管理制度
- 設(shè)備安裝進(jìn)場管理制度
- 設(shè)備施工安全管理制度
- 設(shè)備點(diǎn)檢編制管理制度
- 設(shè)備維修項(xiàng)目管理制度
- 設(shè)備需求清單管理制度
- 2025山東產(chǎn)權(quán)交易集團(tuán)有限公司招聘(校招社招)29人筆試參考題庫附帶答案詳解
- 中國重點(diǎn)、熱點(diǎn)區(qū)域(講練)-2025年中考地理二輪復(fù)習(xí)(全國版)
- 陪玩俱樂部合同協(xié)議
- 2025年統(tǒng)計(jì)學(xué)期末考試題庫-深度解析綜合案例分析題
- 2024北京朝陽區(qū)五年級(jí)(下)期末數(shù)學(xué)試題及答案
- 《商場促銷活動(dòng)策劃》課件
- 多模態(tài)成像技術(shù)在醫(yī)學(xué)中的應(yīng)用-全面剖析
- 郭秀艷-實(shí)驗(yàn)心理學(xué)-練習(xí)題及答案
- 員工測試題目及答案
- 汽車點(diǎn)火考試題及答案
- 2024年湖南學(xué)考選擇性考試政治真題及答案
評(píng)論
0/150
提交評(píng)論