python入門教程課件_第1頁
python入門教程課件_第2頁
python入門教程課件_第3頁
python入門教程課件_第4頁
python入門教程課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1精選2021版課件起源“1989年12月,我在尋找一門“課余”編程項(xiàng)目來打發(fā)圣誕節(jié)前后的時(shí)間。我的辦公室會(huì)關(guān)門,但我有一臺(tái)家用電腦,而且沒有太多其它東西。我決定為當(dāng)時(shí)我正構(gòu)思的一個(gè)新的腳本語言寫一個(gè)解釋器,它是ABC語言的后代,對(duì)UNIX/C程序員會(huì)有吸引力。作為一個(gè)略微有些無關(guān)想法的人,和一個(gè)蒙提·派森(MontyPython)的飛行馬戲團(tuán)的狂熱愛好者,我選擇了Python作為項(xiàng)目的標(biāo)題?!弊髡撸篏uidoVanRossum(GvR)2精選2021版課件ComputerProgrammingforEverybody1999年,Guido向DARPA

闡述Python語言的特性:

簡(jiǎn)單、直觀、強(qiáng)大

開源,以便任何人都可以為它做貢獻(xiàn)

代碼像純英語那樣容易理解

適用于短期開發(fā)的日常任務(wù)這些想法中的一些已經(jīng)成為現(xiàn)實(shí)。Python已經(jīng)成為一門流行的編程語言,尤其是在互聯(lián)網(wǎng)環(huán)境下。3精選2021版課件特性交互式命令行(Interactiveconsole)不只是腳本強(qiáng)大易用的標(biāo)準(zhǔn)庫膠水語言(gluelanguage)收放自如(scalability)不要括號(hào)4精選2021版課件交互式命令行(Interactiveconsole)Python可以單步直譯運(yùn)行。運(yùn)行Python解釋器或IDLE進(jìn)入交互式命令行的環(huán)境,你可以在提示符號(hào)>>>旁輸入代碼,按Enter鍵>>>print("Hello,Python!")Hello,Python!5精選2021版課件不只是腳本原因是“腳本語言”泛指僅作簡(jiǎn)單編程任務(wù)的語言,如Lua、JavaScript等,它們只能處理簡(jiǎn)單的任務(wù)而Python是面向?qū)ο缶幊蹋∣OP)的,支持異常處理和類型檢查Python的支持者較喜歡稱它為一種高階動(dòng)態(tài)編程語言6精選2021版課件強(qiáng)大易用的標(biāo)準(zhǔn)庫核心庫不超過10MbHtml、Xml解析:BeautifulSoup,Expat字符串處理:字典、數(shù)組切片、正則表達(dá)式re單元測(cè)試:PyUnit代碼版本控制:PySVN網(wǎng)絡(luò)訪問:urllib2圖形模塊:Tkinter、PyTCL、WxPython串行化、多線程等擴(kuò)展標(biāo)準(zhǔn)庫十分容易7精選2021版課件膠水語言(gluelanguage)Python經(jīng)常用作將不同語言編寫的程序“粘”在一起的膠水語言。Google內(nèi)部的很多項(xiàng)目使用C++編寫性能要求極高的部分,然后用Python調(diào)用相應(yīng)的模塊。C/C++: Boost.Python使得Python和C++的類庫能互相調(diào)用(.pyc)Java: Jython是用Java實(shí)現(xiàn)的Python,可同時(shí)使用二者的類庫.NET: IronPython是Python在.NET平臺(tái)上的版本。8精選2021版課件收放自如(scalability)Python內(nèi)建的數(shù)據(jù)結(jié)構(gòu)(variable,list和dict)以及對(duì)多線程分布式操作的支持,使得程序可以用相同的代碼處理不同規(guī)模的數(shù)據(jù),

以及并發(fā)的用戶需求。9精選2021版課件不要括號(hào)Python使用縮進(jìn)而不是括號(hào)來進(jìn)行代碼段標(biāo)識(shí),減少了視覺上的混亂,并且使程序變短,從而提高了程序的可讀性。10精選2021版課件用途腳本程序大型程序的原型開發(fā)科學(xué)計(jì)算網(wǎng)絡(luò)應(yīng)用計(jì)算機(jī)圖形編程11精選2021版課件應(yīng)用舉例Google-谷歌在很多項(xiàng)目中用python作為網(wǎng)絡(luò)應(yīng)用的后端,如GoogleGroups、Gmail、GoogleMaps等,GoogleAppEngine支持python作為開發(fā)語言NASA-美國宇航局,從1994年起把python作為主要開發(fā)語言豆瓣網(wǎng)-圖書、唱片、電影等文化產(chǎn)品的資料數(shù)據(jù)庫網(wǎng)站Torchlight--Python編寫的大型3D游戲,原Blizzard公司人員制作發(fā)行,開源。Blender

-以C與Python開發(fā)的開源3D繪圖軟件在科學(xué)研究中也得到廣泛的應(yīng)用。12精選2021版課件這么強(qiáng)大?。?!趕緊開始吧!13精選2021版課件開發(fā)環(huán)境PyCharm(支持PEP8語法規(guī)范、跨平臺(tái)、遠(yuǎn)程調(diào)試、上傳…)IpythonVIM(主要在linux下使用)其它編輯器 UE,notepad++,editplus…工欲善其,事必先利其器14精選2021版課件字符編碼Python默認(rèn)代碼文件為ASCII編碼

不指定編碼時(shí),文件中包含非ASCII字符會(huì)報(bào)錯(cuò)第一行加#coding=utf-8,告訴編譯器使用utf-8編碼 #coding=utf-8 printu"你好!"15精選2021版課件程序運(yùn)行方式使用IDLE或python命令行工具進(jìn)行交互式編程調(diào)用解釋器執(zhí)行py腳本文件

寫個(gè)bat

雙擊16精選2021版課件行和縮進(jìn)Python使用縮進(jìn)來表示代碼塊,

而不是使用大括號(hào)

{}來表示代碼塊,縮進(jìn)在python里有重要的語法意義。建議使用四個(gè)空格來縮進(jìn)代碼,

不建議使用制表符。17精選2021版課件注釋單行注釋使用#號(hào):#

第一個(gè)注釋print"Hello,Python!";#第二個(gè)注釋多行注釋三個(gè)雙引號(hào)或三個(gè)單引號(hào):"""這是多行注釋,使用雙引號(hào)。這是多行注釋,使用雙引號(hào)。這是多行注釋,使用雙引號(hào)。"""18精選2021版課件Helloworld表達(dá)式3+(7*4)++i#butnoi++3**5‘Hello’+‘World’notaandnotca>borc>d變量賦值a=4<<3a=“HelloWorld”x,y=4+2,”python”pass語句

–不做任何事時(shí)使用ifa<b: passelse: c=a19精選2021版課件條件if…elif…else語句:

沒有switchifa==‘+’: b=‘+’elifa==‘-’: b=‘-’else: b=None布爾表達(dá)式–and,or,notifb>=aandb<=c: print‘boolisTrue’ifnot(b<aorc>c):

print‘notexpr,valueisTrue’20精選2021版課件循環(huán)While語句whilea<b: a=a+1For語句(遍歷序列的元素)foritemin[3,4,10,25]: printitem#Printcharactersoneatatimeforcin"HelloWorld": printc#Loopoverarangeofnumbersforiinrange(0,100,2): printiforiinrange(len(list1)): printlist1[i]21精選2021版課件數(shù)字Python支持四種不同的數(shù)值類型:整型(int)

-例:1024長整型(long)

-例:1024L浮點(diǎn)型(float)

-例:1024.56,32.3+e18復(fù)數(shù)(complex)

-例:2.5+3.14j22精選2021版課件數(shù)學(xué)函數(shù)abs(x) 絕對(duì)值max(x1,x2,...) 求最大值min(x1,x2,...) 求最小值round(x[,n]) 求四舍五入值sqrt(x) 求平方根sin(x) 求正弦cos(x) 求余弦23精選2021版課件字符串string用單引號(hào)或雙引號(hào)或三個(gè)引號(hào)創(chuàng)建字符串s1=“hello”s2=‘hello’三引號(hào)創(chuàng)建的字符串可以跨越多行。引號(hào)前小寫的"u"表示這里創(chuàng)建的是一個(gè)Unicode字符串。s=u'HelloWorld!'24精選2021版課件切片序列[開始位置:結(jié)束位置]序列[開始位置:結(jié)束位置:步長]右開區(qū)間s="abcdef“s[2:4]#cds[2:]#cdefs[:2]#abs[:]#abcdefs[::2]#ace25精選2021版課件字符串函數(shù)s2ins字符串包含判斷S.find(sub[,start[,end]])->int字符串查找S.rfind(sub[,start[,end]])->int字符串反向查找S.replace(old,new[,count])->string字符串替換S.strip([chars])->string剔除兩端空白…使用help函數(shù)查詢類型幫助26精選2021版課件列表list賦值a=[2,3,4] #Alistofintegerb=[2,7,3.5,“Hello”]

c=[]

d=[2,[a,b]] #嵌套列表e=[x*xforxinrange(10)]訪問元素x=a[1] #Get2ndelement(0isfirst)a[1]=5z=d[1][0][2] #Nestedlists27精選2021版課件列表運(yùn)算符切片操作a=[2,3,4,5,6]a[:2]#[2,3]a[2:]#[4,5,6]a[2:4]#[4,5]a[:]#[2,3,4,5,6]刪除元素del dela[1]列表長度len

len(a)列表相加 a+b復(fù)制a*2包含判斷if3ina:pass28精選2021版課件列表方法1list.append(obj)

在列表末尾添加新的對(duì)象2list.count(obj)

統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)3list.extend(seq)

在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表)4list.index(obj)

從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置5list.insert(index,obj)

將對(duì)象插入列表6list.pop(obj=list[-1])

移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值7list.remove(obj)

移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)8list.reverse()

反向列表中元素9list.sort([func])

對(duì)原列表進(jìn)行排序29精選2021版課件元組tuple元組的元素不能修改元組使用小括號(hào),列表使用方括號(hào)Python的元組與列表類似,不同之處:tup1=('physics','chemistry',1997,2000)tup2=(1,2,3,4,5)tup3="a","b","c","d";30精選2021版課件字典dict賦值a={} #Anemptydictionaryb={’x’:3,’y’:4}

#有點(diǎn)類似json格式c={’uid’:105, ’login’:’beazley’, ’name’:’DavidBeazley’ }訪問元素u=c[’uid’] #Getanelementc[’shell’]="/bin/sh" #Setanelement31精選2021版課件字典運(yùn)算符刪除元素del dela[1]長度lenlen(a)包含判斷if3ina:pass32精選2021版課件字典方法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[,default])

刪除字典給定鍵key所對(duì)應(yīng)的值,返回值為被刪除的值。key值必須給出。否則,返回default值。12popitem()

隨機(jī)返回并刪除字典中的一對(duì)鍵和值。33精選2021版課件函數(shù)def語句deffunc1(a,b): ‘’’funcspec’’’ q=a/b r=a-q*b returnr#調(diào)用方式a=func1(42,5) #a=2返回多個(gè)值deffunc2(a,b): q=a/b r=a-q*b returnq,rx,y=func2(42,5) #x=8,y=234精選2021版課件類classClass定義classAccount(object): #只在__init__中定義成員變量 def__init__(self,initial): self.balance=initial#析構(gòu) def__del__(self): passdefdeposit(self,amount): self.balance+=amountdefwithdraw(self,amount): self.balance-=amountdefgetBalance(self): returnself.balance使用class創(chuàng)建對(duì)象a=Account(1000.0)a.deposit(550.23)a.deposit(100)a.withdr

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論