(完整版)python教程_第1頁(yè)
(完整版)python教程_第2頁(yè)
(完整版)python教程_第3頁(yè)
(完整版)python教程_第4頁(yè)
(完整版)python教程_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、python基礎(chǔ)教程python 是一種解釋型、面向?qū)ο蟆?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語(yǔ)言。python 由 guido van rossum于 1989 年底發(fā)明,第一個(gè)公開(kāi)發(fā)行版發(fā)行于1991 年。像 perl 語(yǔ)言一樣 , python 源代碼同樣遵循gpl(gnu general public license) 協(xié)議?,F(xiàn)在開(kāi)始學(xué)習(xí)python !python ide( 集成開(kāi)發(fā)環(huán)境 )介紹python 3.x版本的教程python 在線工具誰(shuí)適合閱讀本教程?本教程適合想從零開(kāi)始學(xué)習(xí)python 編程語(yǔ)言的開(kāi)發(fā)人員。當(dāng)然本教程也會(huì)對(duì)一些模塊進(jìn)行深入,讓你更好的了解python的應(yīng)用。學(xué)習(xí)本

2、教程前你需要了解在繼續(xù)本教程之前,你應(yīng)該了解一些基本的計(jì)算機(jī)編程術(shù)語(yǔ)。如果你學(xué)習(xí)過(guò)php ,asp 等編程語(yǔ)言,將有助于你更快的了解python 編程。執(zhí)行 python程序?qū)τ诖蠖鄶?shù)程序語(yǔ)言,第一個(gè)入門編程代碼便是hello world!,以下代碼為使用python 輸出hello world ?。?!/usr/bin/python print hello, world!; python 3.0+ 版本已經(jīng)把print 作為一個(gè)內(nèi)置函數(shù),正確輸出hello world!代碼如下:#!/usr/bin/python print(hello, world!); python 簡(jiǎn)介python 是

3、一個(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ǔ)言:這意味著開(kāi)發(fā)過(guò)程中沒(méi)有了編譯這個(gè)環(huán)節(jié)。類似于php和 perl 語(yǔ)言。?python 是交互式語(yǔ)言:這意味著,您可以在一個(gè)python 提示符,直接互動(dòng)執(zhí)行寫(xiě)你的程序。?python 是面向?qū)ο笳Z(yǔ)言: 這意味著 python 支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對(duì)象的編程技術(shù)。?python是初學(xué)者的語(yǔ)言:python 對(duì)初級(jí)程序員而言,是一種偉大的語(yǔ)言,它支持廣泛的應(yīng)用程序開(kāi)發(fā)

4、,從簡(jiǎn)單的文字處理到www 瀏覽器再到游戲。python發(fā)展歷史python 是由 guido van rossum在八十年代末和九十年代初,在荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來(lái)的。python 本身也是由諸多其他語(yǔ)言發(fā)展而來(lái)的,這包括abc 、modula-3 、c、c+ 、algol-68 、smalltalk 、unix shell 和其他的腳本語(yǔ)言等等。像 perl 語(yǔ)言一樣 , python 源代碼同樣遵循gpl(gnu general public license)協(xié)議?,F(xiàn)在 python 是由一個(gè)核心開(kāi)發(fā)團(tuán)隊(duì)在維護(hù), guido van rossum 仍然占據(jù)著至關(guān)重要的作用

5、,指導(dǎo)其進(jìn)展。python特點(diǎn)?1.易于學(xué)習(xí): python 有相對(duì)較少的關(guān)鍵字,結(jié)構(gòu)簡(jiǎn)單,和一個(gè)明確定義的語(yǔ)法,學(xué)習(xí)起來(lái)更加簡(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)模式的支持,您可以從終端輸入并獲得結(jié)果的語(yǔ)言,互動(dòng)的測(cè)試和調(diào)試代碼片斷。?6.便攜式: python 可以運(yùn)行在多種硬件平臺(tái)和所有平臺(tái)上都具有相同的接口。?7.可擴(kuò)展: 可以添加低層次的模塊到py

6、thon解釋器。這些模塊使程序員可以添加或定制自己的工具,更有效。?8.數(shù)據(jù)庫(kù): python 提供所有主要的商業(yè)數(shù)據(jù)庫(kù)的接口。?9.gui 編程: python 支持 gui 可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用。?10.可擴(kuò)展性: 相比shell 腳本, python 提供了一個(gè)更好的結(jié)構(gòu),且支持大型程序。python 環(huán)境搭建本章節(jié)我們將向大家介紹如何在本地搭建python 開(kāi)發(fā)環(huán)境。python 可應(yīng)用于多平臺(tái)包括linux 和 mac os x 。你可以通過(guò)終端窗口輸入python 命令來(lái)查看本地是否已經(jīng)安裝python 以及 python 的安裝版本。?unix (solaris, lin

7、ux, 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 同樣可以移植到j(luò)ava 和 .net 虛擬機(jī)上。python下載python 最新源碼,二進(jìn)制文檔,新聞資訊等可以在python 的官網(wǎng)查看到:python 官網(wǎng): ht

8、tp:// 你可以在一下鏈接中下載python 的文檔, 你可以下載html 、pdf 和 postscript 等格式的文檔。python 文檔下載地址:/doc/ python安裝python 已經(jīng)被移植在許多平臺(tái)上(經(jīng)過(guò)改動(dòng)使它能夠工作在不同平臺(tái)上)。您需要下載適用于您使用平臺(tái)的二進(jìn)制代碼,然后安裝python 。如果您平臺(tái)的二進(jìn)制代碼是不可用的,你需要使用c 編譯器手動(dòng)編譯源代碼。編譯的源代碼,功能上有更多的選擇性,為 python 安裝提供了更多的靈活性。以下為不同平臺(tái)上安裝python的方法:unix & linux

9、平臺(tái)安裝python: 以下為在unix & linux 平臺(tái)上安裝python 的簡(jiǎn)單步驟:?打開(kāi) web 瀏覽器訪問(wèn)/download/ ?選擇使用于unix/linux的源碼壓縮包。?下載及解壓壓縮包。?如果你需要自定義一些選項(xiàng)修改modules/setup?執(zhí)行 ./configure 腳本?make ?make install 執(zhí)行以上操作后,python會(huì)安裝在/usr/local/bin 目錄中, python 庫(kù)安裝在/usr/local/lib/pythonxx,xx 為你使用的python 的版本號(hào)。window 平臺(tái)安裝py

10、thon: 以下為在window 平臺(tái)上安裝python 的簡(jiǎn)單步驟:?打開(kāi) web 瀏覽器訪問(wèn)/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 。?下載后,雙擊下載包,進(jìn)入python 安裝向?qū)В?/p>

11、安裝非常簡(jiǎn)單,你只需要使用默認(rèn)的設(shè)置一直點(diǎn)擊 下一步 直到安裝完成即可。mac 平臺(tái)安裝python: 最近的 macs 系統(tǒng)都自帶有python 環(huán)境,但是自帶的python 版本為舊版本,你可以通過(guò)鏈接/download/mac/ 查看 mac 上 python 的新版功能介紹。mac 上完整的python 安裝教程你可以查看:http:/www.cwi.nl/jack/macpython.html環(huán)境變量配置程序和可執(zhí)行文件可以在許多目錄,而這些路徑很可能不在操作系統(tǒng)提供可執(zhí)行文件的搜索路徑中。path( 路徑 )存儲(chǔ)在環(huán)境變量中,這是由操作系統(tǒng)維

12、護(hù)的一個(gè)命名的字符串。這些變量包含可用的命令行解釋器和其他程序的信息。unix 或 windows中路徑變量為path (unix 區(qū)分大小寫(xiě),windows不區(qū)分大小寫(xiě))。在 mac os 中, 安裝程序過(guò)程中改變了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/l

13、ocal/bin/python ,按下 enter 。?在 sh 或者ksh 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 的安裝目錄。python 環(huán)境變量下面幾個(gè)重要的環(huán)境變量,它應(yīng)用于python :運(yùn)行 python 變量名描述pyth

14、onpath pythonpath是 python 搜索路徑,默認(rèn)我們import 的模塊都會(huì)從pythonpath里面尋找。pythonstartup python 啟動(dòng)后,先尋找pythonstartup環(huán)境變量,然后執(zhí)行此文件中變量指定的執(zhí)行代碼。pythoncaseok 加入 pythoncaseok的環(huán)境變量 , 就會(huì)使 python 導(dǎo)入模塊的時(shí)候不區(qū)分大小寫(xiě). pythonhome 另一種模塊搜索路徑。它通常內(nèi)嵌于的pythonstartup或 pythonpath目錄中,使得兩個(gè)模塊庫(kù)更容易切換。有三種方式可以運(yùn)行python :1、交互式解釋器:你可以通過(guò)命令行窗口進(jìn)入pyt

15、hon 并開(kāi)在交互式解釋器中開(kāi)始編寫(xiě)python 代碼。你可以在unix ,dos 或任何其他提供了命令行或者shell 的系統(tǒng)進(jìn)行python 編碼工作。$python # unix/linux 或者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)建的異常(僅僅用于字符串)已過(guò)時(shí)。-c cmd 執(zhí)行python 腳本,并將運(yùn)行結(jié)果作為c

16、md 字符串。file 在給定的python 文件執(zhí)行python 腳本。2、命令行腳本在你的應(yīng)用程序中通過(guò)引入解釋器可以在命令行中執(zhí)行python 腳本,如下所示:$python script.py # unix/linux 或者python% script.py # unix/linux 或者c:python script.py # windows/dos 注意: 在執(zhí)行腳本時(shí),請(qǐng)檢查腳本是否有可執(zhí)行權(quán)限。3、集成開(kāi)發(fā)環(huán)境( ide:integrated development environment)您可以使用圖形用戶界面(gui )環(huán)境來(lái)編寫(xiě)及運(yùn)行python 代碼。以下推薦各個(gè)平臺(tái)上

17、使用的ide:?unix: idle 是 unix 上最早的python ide 。?windows: pythonwin 是一個(gè)python 集成開(kāi)發(fā)環(huán)境,在許多方面都比ide 優(yōu)秀?macintosh: python 的 mac 可以使用idle ide ,你可以在網(wǎng)站上下載對(duì)應(yīng)mac 的idle 。繼續(xù)下一章之前,請(qǐng)確保您的環(huán)境已搭建成功。如果你不能夠建立正確的環(huán)境,那么你就可以從您的系統(tǒng)管理員的幫助。在以后的章節(jié)中給出的例子已在centos (linux )下 python2.4.3版本測(cè)試通過(guò)。python 中文編碼前面章節(jié)中我們已經(jīng)學(xué)會(huì)了如何用python 輸出hello, wor

18、ld!,英文沒(méi)有問(wèn)題,但是如果你輸出中文字符你好,世界 就有可能會(huì)碰到中文編碼問(wèn)題。python 文件中如果未指定編碼,在執(zhí)行過(guò)程會(huì)出現(xiàn)報(bào)錯(cuò):#!/usr/bin/python print 你好,世界 ; 以上程序執(zhí)行輸出結(jié)果為: file test.py, line 2 syntaxerror: non-ascii character xe4 in file test.py on line 2, but no encoding declared; see /peps/pep-0263.html for details 以上出錯(cuò)信息顯示了我們?yōu)橹付ň幋a,

19、解決方法為只要在文件開(kāi)頭加入# -*- coding: utf-8 -*- 或者#coding=utf-8 就行了。#coding=utf-8 #!/usr/bin/python print 你好,世界 ; 輸出結(jié)果為:你好,世界所以如果大家再學(xué)習(xí)過(guò)程中,代碼中包含中文,就需要在頭部指定編碼。python 基礎(chǔ)語(yǔ)法python 語(yǔ)言與 perl ,c 和 java 等語(yǔ)言有許多相似之處。但是,也存在一些差異。在本章中我們將來(lái)學(xué)習(xí)python 的基礎(chǔ)語(yǔ)法,讓你快速學(xué)會(huì)python 編程。第一個(gè) python程序交互式編程交互式編程不需要?jiǎng)?chuàng)建腳本文件,是通過(guò)python 解釋器的交互模式進(jìn)來(lái)編寫(xiě)代

20、碼。linux 上你只需要在命令行中輸入python 命令即可啟動(dòng)交互式編程,提示窗口如下:$ 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時(shí)已經(jīng)已經(jīng)安裝了默認(rèn)的交互式編程客戶端,提示窗口如下:在 python 提示符中輸入以下文本信息,然后按enter 鍵查看運(yùn)行效果: print hell

21、o, python!; 在 python 2.4.3 版本中 ,以上事例輸出結(jié)果如下:hello, python! 如果您運(yùn)行的是新版本的python ,那么你就需要在print 語(yǔ)句中使用括號(hào)如: print (hello, python!); 腳本式編程通過(guò)腳本參數(shù)調(diào)用解釋器開(kāi)始執(zhí)行腳本,直到腳本執(zhí)行完畢。當(dāng)腳本執(zhí)行完成后,解釋器不再有效。讓我們寫(xiě)一個(gè)簡(jiǎn)單的python腳本程序。 所有 python文件將以 .py 為擴(kuò)展名。 將以下的源代碼拷貝至 test.py 文件中。print hello, python!; 這里,假設(shè)你已經(jīng)設(shè)置了python 解釋器 path 變量。使用以下命令運(yùn)

22、行程序:$ 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! python標(biāo)識(shí)符在 python 里,標(biāo)識(shí)符有字母、數(shù)字、下劃線組成。在 python 中,所有標(biāo)識(shí)符可以包括英文、數(shù)字以及下劃線(_),但不能

23、以數(shù)字開(kāi)頭。python 中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。以下劃線開(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保留字符下面的列表顯示了在python中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識(shí)符名稱。所有 python 的關(guān)鍵字只包含小寫(xiě)字母。行和縮進(jìn)學(xué)習(xí) python 與其他語(yǔ)言最大的區(qū)別

24、就是,python 的代碼塊不使用大括號(hào)()來(lái)控制類,函數(shù)以及其他邏輯判斷。python 最具特色的就是用縮進(jìn)來(lái)寫(xiě)模塊。縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。如下所示: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 if true: print true else: prin

25、t false 以下代碼將會(huì)執(zhí)行錯(cuò)誤: if true: print answer print true else: print answer print false 因此,在python的代碼塊中必須使用相同數(shù)目的行首縮進(jìn)空格數(shù)。以下實(shí)例包含了相同數(shù)目的行首縮進(jìn)代碼語(yǔ)句塊的例子:#!/usr/bin/python import sys try: # open file stream file = open(file_name, w) except ioerror: print there was an error writing to, file_name sys.exit() print

26、enter , file_finish, print when finished while file_text != file_finish: file_text = raw_input(enter text: ) if file_text = file_finish: # close the file file.close break file.write(file_text) file.write(n) file.close() file_name = raw_input(enter filename: ) if len(file_name) = 0: print next time p

27、lease enter something sys.exit() try: file = open(file_name, r) except ioerror: print there was an error reading file sys.exit() file_text = file.read() file.close() print file_text 多行語(yǔ)句python 語(yǔ)句中一般以新行作為為語(yǔ)句的結(jié)束符。但是我們可以使用斜杠()將一行的語(yǔ)句分為多行顯示,如下所示: total = item_one + item_two + item_three 語(yǔ)句中包含 , 或 () 括號(hào)就不

28、需要使用多行連接符。如下實(shí)例: days = monday, tuesday, wednesday, thursday, friday python 引號(hào)python 接收單引號(hào) ( ),雙引號(hào) ( ) ,三引號(hào) ( ) 來(lái)表示字符串,引號(hào)的開(kāi)始與結(jié)束必須的相同類型的。其中三引號(hào)可以由多行組成,編寫(xiě)多行文本的快捷語(yǔ)法,常用語(yǔ)文檔字符串, 在文件的特定地點(diǎn),被當(dāng)做注釋。word = word sentence = this is a sentence. paragraph = this is a paragraph. it is made up of multiple lines and sen

29、tences. python注釋python 中單行注釋采用# 開(kāi)頭。python 沒(méi)有塊注釋,所以現(xiàn)在推薦的多行注釋也是采用的#比如:#!/usr/bin/python # first comment print hello, python!; # second comment 輸出結(jié)果:hello, python! 注釋可以在語(yǔ)句或表達(dá)式行末:name = madisetti # this is again comment 多條評(píng)論:# this is a comment. # this is a comment, too. # this is a comment, too. # i sa

30、id that already. python空行函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開(kāi)始。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開(kāi)始??招信c代碼縮進(jìn)不同,空行并不是python 語(yǔ)法的一部分。書(shū)寫(xiě)時(shí)不插入空行,python 解釋器運(yùn)行也不會(huì)出錯(cuò)。 但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護(hù)或重構(gòu)。記住:空行也是程序代碼的一部分。等待用戶輸入下面的程序在按回車鍵后就會(huì)等待用戶輸入:#!/usr/bin/python raw_input(nnpress the enter key to exit.) 以上代碼中,nn 在結(jié)果輸出前會(huì)輸出兩個(gè)新的

31、空行。一旦用戶按下鍵時(shí),程序?qū)⑼顺?。同一行顯示多條語(yǔ)句python 可以在同一行中使用多條語(yǔ)句,語(yǔ)句之間使用分號(hào)(;)分割,以下是一個(gè)簡(jiǎn)單的實(shí)例:import sys; x = foo; sys.stdout.write(x + n) 多個(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 : suit

32、e else : suite 命令行參數(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 p

33、ythondebug=x) -e : ignore environment variables (such as pythonpath) -h : print this help message and exit etc. python 變量類型變量存儲(chǔ)在內(nèi)存中的值。這就意味著在創(chuàng)建變量時(shí)會(huì)在內(nèi)存中開(kāi)辟一個(gè)空間?;谧兞康臄?shù)據(jù)類型,解釋器會(huì)分配指定內(nèi)存,并決定什么數(shù)據(jù)可以被存儲(chǔ)在內(nèi)存中。因此,變量可以指定不同的數(shù)據(jù)類型,這些變量可以存儲(chǔ)整數(shù),小數(shù)或字符。變量賦值python 中的變量不需要聲明,變量的賦值操作既是變量聲明和定義的過(guò)程。每個(gè)變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識(shí),名稱和數(shù)據(jù)這些信息。

34、每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。等號(hào)( =)用來(lái)給變量賦值。等號(hào)( =)運(yùn)算符左邊是一個(gè)變量名,等號(hào)( =)運(yùn)算符右邊是存儲(chǔ)在變量中的值。例如:#coding=utf-8 #!/usr/bin/python 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è)變量

35、賦值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

36、(字符串)?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 = 1 var2 = 10 您也可以使用del 語(yǔ)句刪除一些對(duì)象引用。del 語(yǔ)句的語(yǔ)法是:del var1,var2,var3.,varn 您可以通過(guò)使用del 語(yǔ)句刪除單個(gè)或多個(gè)對(duì)象。例如:del var del var_a, var_b python 支持四種不同的數(shù)值類型:?int(有符號(hào)整型)?long (長(zhǎng)整型 也可以代表八進(jìn)制和十六

37、進(jìn)制)?float (浮點(diǎn)型)?complex (復(fù)數(shù))實(shí)例一些數(shù)值類型的實(shí)例:int long float complex 10 51924361l 0.0 3.14j 100 -0 x19323l 15.20 45.j -786 0122l -21.9 9.322e-36j 080 0 xdefabcecbdaecbfbael 32.3+e18 .876j -0490 535633629843l -90. -.6545+0j -0 x260 -052318172735l -32.54e100 3e+26j 0 x69 -4721885298529l 70.2-e12 4.53e-7j ?長(zhǎng)

38、整型也可以使用小寫(xiě)l,但是還是建議您使用大寫(xiě)l ,避免與數(shù)字1混淆。 python使用 l 來(lái)顯示長(zhǎng)整型。?python 還支持復(fù)數(shù), 復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用 a + bj, 或者 complex(a,b)表示,復(fù)數(shù)的實(shí)部a 和虛部 b 都是浮點(diǎn)型python字符串字符串或串 (string) 是由數(shù)字、字母、下劃線組成的一串字符。一般記為: s=a1a2an(n=0) 它是編程語(yǔ)言中表示文本的數(shù)據(jù)類型。python 的字串列表有2 種取值順序 : ?從左到右索引默認(rèn)0 開(kāi)始的,最大范圍是字符串長(zhǎng)度少1 ?從右到左索引默認(rèn)-1 開(kāi)始的,最大范圍是字符串開(kāi)頭如果你的實(shí)要取得一段子串

39、的話,可以用到變量頭下標(biāo) :尾下標(biāo) ,就可以截取相應(yīng)的字符串,其中下標(biāo)是從0 開(kāi)始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。比如 : s = ilovepython s1:5 的結(jié)果是love 。當(dāng)使用以冒號(hào)分隔的字符串,python 返回一個(gè)新的對(duì)象,結(jié)果包含了以這對(duì)偏移標(biāo)識(shí)的連續(xù)的內(nèi)容,左邊的開(kāi)始是包含了下邊界。上面的結(jié)果包含了s1 的值 l,而取到的最大范圍不包括上邊界,就是s5 的值 p。加號(hào)( +)是字符串連接運(yùn)算符,星號(hào)(*)是重復(fù)操作。如下實(shí)例:#coding=utf-8 #!/usr/bin/python str = hello world! print str #

40、輸出完整字符串print str0 # 輸出字符串中的第一個(gè)字符print str2:5 # 輸出字符串中第三個(gè)至第五個(gè)之間的字符串print str2: # 輸出從第三個(gè)字符開(kāi)始的字符串print str * 2 # 輸出字符串兩次print str + test # 輸出連接的字符串以上實(shí)例輸出結(jié)果:hello world! h llo llo world! hello world!hello world! hello world!test python列表list (列表)是 python 中使用最頻繁的數(shù)據(jù)類型。列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字, 字符串甚至可以

41、包含列表(所謂嵌套)。列表用 標(biāo)識(shí)。是python 最通用的復(fù)合數(shù)據(jù)類型??催@段代碼就明白。列表中的值得分割也可以用到變量頭下標(biāo) :尾下標(biāo) ,就可以截取相應(yīng)的列表,從左到右索引默認(rèn)0 開(kāi)始的,從右到左索引默認(rèn)-1 開(kāi)始,下標(biāo)可以為空表示取到頭或尾。加號(hào)( +)是列表連接運(yùn)算符,星號(hào)(*)是重復(fù)操作。如下實(shí)例:#coding=utf-8 #!/usr/bin/python list = abcd, 786 , 2.23, john, 70.2 tinylist = 123, john print list # 輸出完整列表print list0 # 輸出列表的第一個(gè)元素print list1:3

42、 # 輸出第二個(gè)至第三個(gè)的元素print list2: # 輸出從第三個(gè)開(kāi)始至列表末尾的所有元素print tinylist * 2 # 輸出列表兩次print list + tinylist # 打印組合的列表以上實(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 python元組元組是另一個(gè)數(shù)據(jù)類型,類似于list (列表)。元組用 ()標(biāo)識(shí)。內(nèi)部元素用逗號(hào)隔開(kāi)。但是元素不能二次賦值,相當(dāng)于

43、只讀列表。#coding=utf-8 #!/usr/bin/python tuple = ( abcd, 786 , 2.23, john, 70.2 ) tinytuple = (123, john) print tuple # 輸出完整元組print tuple0 # 輸出元組的第一個(gè)元素print tuple1:3 # 輸出第二個(gè)至第三個(gè)的元素print tuple2: # 輸出從第三個(gè)開(kāi)始至列表末尾的所有元素print tinytuple * 2 # 輸出元組兩次print tuple + tinytuple # 打印組合的元組以上實(shí)例輸出結(jié)果:(abcd, 786, 2.23, jo

44、hn, 70.2) abcd (786, 2.23) (2.23, john, 70.2) (123, john, 123, john) (abcd, 786, 2.23, john, 70.2, 123, john) 以下是元組無(wú)效的,因?yàn)樵M是不允許更新的。而列表是允許更新的:#coding=utf-8 #!/usr/bin/python tuple = ( abcd, 786 , 2.23, john, 70.2 ) list = abcd, 786 , 2.23, john, 70.2 tuple2 = 1000 # 元組中是非法應(yīng)用list2 = 1000 # 列表中是合法應(yīng)用pyt

45、hon元字典字典 (dictionary)是除列表以外python 之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對(duì)象結(jié)合,字典是無(wú)序的對(duì)象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。字典用 標(biāo)識(shí)。字典由索引(key) 和它對(duì)應(yīng)的值value 組成。#coding=utf-8 #!/usr/bin/python dict = dictone = this is one dict2 = this is two tinydict = name: john,code:6734, dept: sales print dictone # 輸出鍵為 one 的值print d

46、ict2 # 輸出鍵為 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 sales, 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)換

47、的值。函數(shù)描述int(x ,base) 將 x 轉(zhuǎn)換為一個(gè)整數(shù)long(x ,base ) 將 x 轉(zhuǎn)換為一個(gè)長(zhǎng)整數(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) 用來(lái)計(jì)算在字符串中的有效python表達(dá)式 ,并返回一個(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)換為不可變集合

48、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)制字符串什么是運(yùn)算符?本章節(jié)主要說(shuō)明python的運(yùn)算符。 舉個(gè)簡(jiǎn)單的例子 4 +5 = 9 。 例子中, 4 和 5 被稱為操作數(shù),+ 號(hào)為運(yùn)算符。python 語(yǔ)言支持以下類型的運(yùn)算符: ?算術(shù)運(yùn)算符?比較(關(guān)系)運(yùn)算符?賦值運(yùn)算符?邏輯運(yùn)算符?位運(yùn)算符?成員運(yùn)算符?身份運(yùn)算符?運(yùn)算符優(yōu)先級(jí)接下來(lái)讓我們一個(gè)個(gè)來(lái)學(xué)習(xí)python 的運(yùn)算符。python算術(shù)運(yùn)算符以下假設(shè)變量a

49、為 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 除以 y b / 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)算符的操

50、作:#!/usr/bin/python a = 21 b = 10 c = 0 c = a + b print line 1 - value of c is , c c = a - b print line 2 - value of c is , c c = a * b print line 3 - value of c is , c c = a / b print line 4 - value of c is , c c = a % b print line 5 - value of c is , c a = 2 b = 3 c = a*b print line 6 - value of c

51、 is , c a = 10 b = 5 c = a/b print line 7 - value of c is , c 以上實(shí)例輸出結(jié)果:line 1 - value of c is 31 line 2 - value of c is 11 line 3 - value of c is 210 line 4 - value of c is 2 line 5 - value of c is 1 line 6 - value of c is 8 line 7 - value of c is 2 python比較運(yùn)算符以下假設(shè)變量a 為 10 ,變量 b 為 20 :以下實(shí)例演示了python所

52、有比較運(yùn)算符的操作:#!/usr/bin/python 運(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à)。注意,這些變量名的大寫(xiě)。(a = 大于等于- 返回 x 是否大于等于y。(a = b) 返回false 。= 小于等于-

53、 返回 x 是否小于等于y。(a = b) 返回true 。a = 21 b = 10 c = 0 if ( a = b ): print line 1 - a is equal to b else: print line 1 - a is not equal to b if ( a != b ): print line 2 - a is not equal to b else: print line 2 - a is equal to b if ( a b ): print line 3 - a is not equal to b else: print line 3 - a is equa

54、l to b if ( a b ): print line 5 - a is greater than b else: print line 5 - a is not greater than b a = 5; b = 20; if ( a = a ): print line 7 - b is either greater than or equal to b else: print line 7 - b is neither greater than nor equal to b 以上實(shí)例輸出結(jié)果:line 1 - a is not equal to b line 2 - a is not

55、equal to b line 3 - a is not equal to b line 4 - a is not less than b line 5 - a is greater than b line 6 - a is either less than or equal to b line 7 - b is either greater than or equal to b python賦值運(yùn)算符以下假設(shè)變量a 為 10 ,變量 b 為 20 :運(yùn)算符描述實(shí)例= 簡(jiǎn)單的賦值運(yùn)算符c = a + b 將 a + b 的運(yùn)算結(jié)果賦值為c += 加法賦值運(yùn)算符c += a 等效于c = c +

56、 a -= 減法賦值運(yùn)算符c -= a 等效于c = c - a *= 乘法賦值運(yùn)算符c *= a 等效于c = c * a /= 除法賦值運(yùn)算符c /= a 等效于c = c / a %= 取模賦值運(yùn)算符c %= a 等效于c = c % a *= 冪賦值運(yùn)算符c *= a 等效于c = c * a /= 取整除賦值運(yùn)算符c /= a 等效于c = c / a 以下實(shí)例演示了python所有賦值運(yùn)算符的操作:#!/usr/bin/python a = 21 b = 10 c = 0 c = a + b print line 1 - value of c is , c c += a print

57、 line 2 - value of c is , c c *= a print line 3 - value of c is , c c /= a print line 4 - value of c is , c c = 2 c %= a print line 5 - value of c is , c c *= a print line 6 - value of c is , c c /= a print line 7 - value of c is , c 以上實(shí)例輸出結(jié)果:line 1 - value of c is 31 line 2 - value of c is 52 line

58、3 - value of c is 1092 line 4 - value of c is 52 line 5 - value of c is 2 line 6 - value of c is 2097152 line 7 - value of c is 99864 python位運(yùn)算符按位運(yùn)算符是把數(shù)字看作二進(jìn)制來(lái)進(jìn)行計(jì)算的。python 中的按位運(yùn)算法則如下:運(yùn)算符描述實(shí)例& 按位與運(yùn)算符(a & b) 輸出結(jié)果12 ,二進(jìn)制解釋:0000 1100 | 按位或運(yùn)算符(a | b) 輸出結(jié)果61 ,二進(jìn)制解釋:0011 1101 按位異或運(yùn)算符(a b) 輸出結(jié)果49 ,二

59、進(jìn)制解釋:0011 0001 按位取反運(yùn)算符(a ) 輸出結(jié)果-61 ,二進(jìn)制解釋:1100 0011 ,在一個(gè)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼形式。 左移動(dòng)運(yùn)算符a 右移動(dòng)運(yùn)算符a 2 輸出結(jié)果15 ,二進(jìn)制解釋:0000 1111 以下實(shí)例演示了python所有位運(yùn)算符的操作:#!/usr/bin/python a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print line 1 - value of c is , c c = a | b; # 61 = 0011 1101

60、print line 2 - value of c is , c c = a b; # 49 = 0011 0001 print line 3 - value of c is , c c = a; # -61 = 1100 0011 print line 4 - value of c is , c c = a 2; # 15 = 0000 1111 print line 6 - value of c is , c 以上實(shí)例輸出結(jié)果:line 1 - value of c is 12 line 2 - value of c is 61 line 3 - value of c is 49 line 4 - value of c is

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論