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

下載本文檔

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

文檔簡介

1、2021/3/912021/3/92起源“1989年12月,我在尋找一門“課余”編程項目來打發(fā)圣誕節(jié)前后的時間。我的辦公室會關(guān)門,但我有一臺家用電腦,而且沒有太多其它東西。我決定為當時我正構(gòu)思的一個新的腳本語言寫一個解釋器,它是 ABC 語言的后代,對 UNIX / C 程序員會有吸引力。作為一個略微有些無關(guān)想法的人,和一個蒙提派森(Monty Python)的飛行馬戲團的狂熱愛好者,我選擇了 Python 作為項目的標題?!弊髡咦髡?:Guido Van Rossum (GvR)2021/3/93Computer Programming for Everybody1999年,Guido向DA

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

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

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

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

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

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

8、int Hello, Python!; # 第二個注釋多行注釋三個雙引號或三個單引號: 這是多行注釋,使用雙引號。 這是多行注釋,使用雙引號。 這是多行注釋,使用雙引號。 2021/3/919Hello world 表達式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 語句 不做任何事時使用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語句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)訪問元素x

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

11、xtend(seq)在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)4 list.index(obj)從列表中找出某個值第一個匹配項的索引位置5 list.insert(index, obj)將對象插入列表6 list.pop(obj=list-1)移除列表中的一個元素(默認最后一個元素),并且返回該元素的值7 list.remove(obj)移除列表中某個值的第一個匹配項8 list.reverse()反向列表中元素9 list.sort(func)對原列表進行排序2021/3/930元組tuple元組的元素不能修改元組使用小括號,列表使用方括號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 #有點類似json格式c = uid: 105, login: beazley, name : David Beazley 訪問元素u = cuid # Get an elementcshell = /bin/sh # Set an element2021/3/932字典運算符刪除元素deldel a1長度le

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

14、efault)刪除字典給定鍵 key 所對應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。2021/3/934函數(shù)def語句def func1(a,b):func specq = a/br = a - q*breturn r# 調(diào)用方式a = func1(42,5) # a = 2返回多個值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)建對象a = Account(1000.0)a.deposit(550.23)a.deposit(100)a.withdraw(50)pri

16、nt a.getBalance()2021/3/936模塊程序可分成多個模塊:一個py文件就是一個模塊;# 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)給一個全局變量賦值時,需要先用global關(guān)鍵字聲明這個變量,否則編譯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論