python入門教程PPT課件_第1頁(yè)
python入門教程PPT課件_第2頁(yè)
python入門教程PPT課件_第3頁(yè)
python入門教程PPT課件_第4頁(yè)
python入門教程PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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、2021/3/912021/3/92起源“1989年12月,我在尋找一門“課余”編程項(xiàng)目來(lái)打發(fā)圣誕節(jié)前后的時(shí)間。我的辦公室會(huì)關(guān)門,但我有一臺(tái)家用電腦,而且沒(méi)有太多其它東西。我決定為當(dāng)時(shí)我正構(gòu)思的一個(gè)新的腳本語(yǔ)言寫一個(gè)解釋器,它是 ABC 語(yǔ)言的后代,對(duì) UNIX / C 程序員會(huì)有吸引力。作為一個(gè)略微有些無(wú)關(guān)想法的人,和一個(gè)蒙提派森(Monty Python)的飛行馬戲團(tuán)的狂熱愛(ài)好者,我選擇了 Python 作為項(xiàng)目的標(biāo)題?!弊髡咦髡?:Guido Van Rossum (GvR)2021/3/93Computer Programming for Everybody1999年,Guido向DA

2、RPA 闡述Python語(yǔ)言的特性:簡(jiǎn)單、直觀、強(qiáng)大開(kāi)源,以便任何人都可以為它做貢獻(xiàn)代碼像純英語(yǔ)那樣容易理解適用于短期開(kāi)發(fā)的日常任務(wù)這些想法中的一些已經(jīng)成為現(xiàn)實(shí)。Python 已經(jīng)成為一門流行的編程語(yǔ)言,尤其是在互聯(lián)網(wǎng)環(huán)境下。2021/3/94特性特性交互式命令行(Interactive console)不只是腳本強(qiáng)大易用的標(biāo)準(zhǔn)庫(kù)膠水語(yǔ)言(glue language)收放自如(scalability)不要括號(hào)2021/3/95交互式命令行(Interactive console)Python可以單步直譯運(yùn)行。運(yùn)行Python解釋器或IDLE進(jìn)入交互式命令行的環(huán)境,你可以在提示符號(hào)旁輸入代碼,按

3、Enter鍵 printprint(Hello, Python!) Hello, Python!2021/3/96不只是腳本原因是“腳本語(yǔ)言”泛指僅作簡(jiǎn)單編程任務(wù)的語(yǔ)言,如Lua、JavaScript等,它們只能處理簡(jiǎn)單的任務(wù)而Python是面向?qū)ο缶幊蹋∣OP)的,支持異常處理和類型檢查Python的支持者較喜歡稱它為一種高階動(dòng)態(tài)編程語(yǔ)言2021/3/97強(qiáng)大易用的標(biāo)準(zhǔn)庫(kù)核心庫(kù)不超過(guò)10MbHtml、Xml解析:BeautifulSoup, Expat字符串處理:字典、數(shù)組切片、正則表達(dá)式 re單元測(cè)試: PyUnit代碼版本控制: PySVN網(wǎng)絡(luò)訪問(wèn): urllib2圖形模塊: Tkint

4、er、PyTCL、WxPython串行化、多線程等擴(kuò)展標(biāo)準(zhǔn)庫(kù)十分容易擴(kuò)展標(biāo)準(zhǔn)庫(kù)十分容易2021/3/98膠水語(yǔ)言(glue language)Python經(jīng)常用作將不同語(yǔ)言編寫的程序“粘”在一起的膠水語(yǔ)言。Google內(nèi)部的很多項(xiàng)目使用C+編寫性能要求極高的部分,然后用Python調(diào)用相應(yīng)的模塊。C/C+: C/C+: Boost.Python使得 Python 和 C+ 的類庫(kù)能互相調(diào)用(.pyc)Java: Java: Jython 是用Java實(shí)現(xiàn)的Python,可同時(shí)使用二者的類庫(kù).NET:.NET:IronPython是Python在.NET平臺(tái)上的版本。2021/3/99收放自如(

5、scalability)Python內(nèi)建的數(shù)據(jù)結(jié)構(gòu)(variable, list 和 dict)以及對(duì)多線程分布式操作的支持,使得程序可以用相同的代碼處理不同規(guī)模的數(shù)據(jù), 以及并發(fā)的用戶需求。2021/3/910不要括號(hào)Python使用縮進(jìn)而不是括號(hào)來(lái)進(jìn)行代碼段標(biāo)識(shí),減少了視覺(jué)上的混亂,并且使程序變短,從而提高了程序的可讀性。2021/3/911用途腳本程序大型程序的原型開(kāi)發(fā)科學(xué)計(jì)算網(wǎng)絡(luò)應(yīng)用計(jì)算機(jī)圖形編程2021/3/912應(yīng)用舉例應(yīng)用舉例Google - 谷歌在很多項(xiàng)目中用python作為網(wǎng)絡(luò)應(yīng)用的后端,如Google Groups、Gmail、Google Maps等,Google App

6、 Engine支持python作為開(kāi)發(fā)語(yǔ)言NASA - 美國(guó)宇航局,從1994年起把python作為主要開(kāi)發(fā)語(yǔ)言豆瓣網(wǎng) - 圖書、唱片、電影等文化產(chǎn)品的資料數(shù)據(jù)庫(kù)網(wǎng)站Torchlight -Python編寫的大型3D游戲,原Blizzard公司人員制作發(fā)行,開(kāi)源。Blender - 以C與Python開(kāi)發(fā)的開(kāi)源3D繪圖軟件在科學(xué)研究中也得到廣泛的應(yīng)用。2021/3/913這么強(qiáng)大!趕緊開(kāi)始吧!2021/3/914開(kāi)發(fā)環(huán)境PyCharm(支持PEP8 語(yǔ)法規(guī)范、跨平臺(tái)、遠(yuǎn)程調(diào)試、上傳)IpythonVIM (主要在linux下使用)其它編輯器UE,notepad+,editplus工欲善其,事必

7、先利其器2021/3/915字符編碼Python默認(rèn)代碼文件為ASCII編碼不指定編碼時(shí),文件中包含非ASCII字符會(huì)報(bào)錯(cuò)第一行加 #coding=utf-8,告訴編譯器使用utf-8編碼#coding=utf-8print u你好!2021/3/916程序運(yùn)行方式使用IDLE或python命令行工具進(jìn)行交互式編程調(diào)用解釋器執(zhí)行py腳本文件寫個(gè)bat雙擊2021/3/917行和縮進(jìn)Python使用縮進(jìn)來(lái)表示代碼塊,而不是使用大括號(hào) 來(lái)表示代碼塊,縮進(jìn)在python里有重要的語(yǔ)法意義。建議使用四個(gè)空格來(lái)縮進(jìn)代碼,不建議使用制表符。2021/3/918注釋 單行注釋使用 # 號(hào):# 第一個(gè)注釋pr

8、int Hello, Python!; # 第二個(gè)注釋多行注釋三個(gè)雙引號(hào)或三個(gè)單引號(hào): 這是多行注釋,使用雙引號(hào)。 這是多行注釋,使用雙引號(hào)。 這是多行注釋,使用雙引號(hào)。 2021/3/919Hello world 表達(dá)式3 + (7 * 4)+i #but no i+3 * 5Hello + Worldnot a and not ca b or c d變量賦值a = 4 3a = “Hello World”x,y = 4+2,”python”pass 語(yǔ)句 不做任何事時(shí)使用if a = a and b = c:print bool is Trueif not (b c): print not

9、 expr, value is True2021/3/921循環(huán)While語(yǔ)句while a int字符串查找S.rfind(sub ,start ,end) - int字符串反向查找S.replace(old, new, count)- string字符串替換S.strip(chars) - string剔除兩端空白使用help函數(shù)查詢類型幫助2021/3/927列表list賦值a = 2, 3, 4 # A list of integerb = 2, 7, 3.5, “Hello” c = d = 2, a, b # 嵌套列表e = x*x for x in range(10)訪問(wèn)元素x

10、= a1 # Get 2nd element (0 is first)a1 = 5z = d102 # Nested lists2021/3/928列表運(yùn)算符p切片操作a = 2, 3, 4, 5, 6a:2 #2, 3a2: #4, 5, 6a2:4 #4, 5a: # 2, 3, 4, 5, 6p刪除元素deldel a1p列表長(zhǎng)度lenlen(a)p列表相加a + bp復(fù)制a * 2p包含判斷if 3 in a : pass2021/3/929列表方法1 list.append(obj)在列表末尾添加新的對(duì)象2 list.count(obj)統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)3 list.e

11、xtend(seq)在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來(lái)的列表)4 list.index(obj)從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置5 list.insert(index, obj)將對(duì)象插入列表6 list.pop(obj=list-1)移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值7 list.remove(obj)移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)8 list.reverse()反向列表中元素9 list.sort(func)對(duì)原列表進(jìn)行排序2021/3/930元組tuple元組的元素不能修改元組使用小括號(hào),列表使用方括號(hào)Python的元組與列表類似

12、,不同之處:tup1 = (physics, chemistry, 1997, 2000)tup2 = (1, 2, 3, 4, 5 )tup3 = a, b, c, d;2021/3/931字典dict賦值a = # An empty dictionaryb = x: 3, y: 4 #有點(diǎn)類似json格式c = uid: 105, login: beazley, name : David Beazley 訪問(wèn)元素u = cuid # Get an elementcshell = /bin/sh # Set an element2021/3/932字典運(yùn)算符刪除元素deldel a1長(zhǎng)度le

13、nlen(a)包含判斷if 3 in a : pass2021/3/933字典方法1dict.clear()刪除字典內(nèi)所有元素2dict.copy()返回一個(gè)字典的淺復(fù)制3dict.fromkeys(seq, val)創(chuàng)建一個(gè)新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對(duì)應(yīng)的初始值4dict.get(key, default=None)返回指定鍵的值,如果值不在字典中返回default值6dict.items()以列表返回可遍歷的(鍵, 值) 元組數(shù)組7dict.keys()以列表返回一個(gè)字典所有的鍵10dict.values()以列表返回字典中的所有值11pop(key,d

14、efault)刪除字典給定鍵 key 所對(duì)應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。2021/3/934函數(shù)def語(yǔ)句def func1(a,b):func specq = a/br = a - q*breturn r# 調(diào)用方式a = func1(42,5) # a = 2返回多個(gè)值def func2(a,b):q = a/br = a - q*breturn q,rx,y = func2(42,5) # x = 8, y = 22021/3/935類classClass定義class Account(object):#只在只在_init_中定義成員變量中定

15、義成員變量def _init_(self, initial):self.balance = initial #析構(gòu)析構(gòu)def _del_(self):pass def deposit(self, amount): self.balance += amount def withdraw(self, amount): self.balance -= amount def getBalance(self): return self.balance使用class創(chuàng)建對(duì)象a = Account(1000.0)a.deposit(550.23)a.deposit(100)a.withdraw(50)pri

16、nt a.getBalance()2021/3/936模塊程序可分成多個(gè)模塊:一個(gè)py文件就是一個(gè)模塊;# numbers.pydef divide(a,b):q = a/br = a - q*breturn q,rdef gcd(x,y):g = ywhile x 0:g = xx = y % xy = greturn g用import引入其它模塊import numbersx,y = numbers.divide(42,5)n = numbers.gcd(7291823, 5683)Import模塊中的類型from numbers import divide x,y = divide(42,5)2021/3/937全局變量和局部變量函數(shù)內(nèi)定義的變量是局部變量函數(shù)外定義的變量是全局變量在函數(shù)內(nèi)給一個(gè)全局變量賦值時(shí),需要先用global關(guān)鍵字聲明這個(gè)變量,否則編譯

溫馨提示

  • 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)論