Python入門P知識課件_第1頁
Python入門P知識課件_第2頁
Python入門P知識課件_第3頁
Python入門P知識課件_第4頁
Python入門P知識課件_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python入門

(優雅的語言,簡潔而強大,2007年度語言)

參考資料:Python簡明教程Python的歷史Python是自由軟件的豐碩成果之一創始人 GuidovanRossum時間地點 1989年圣誕節期間在阿姆斯特丹創造名字來源 大蟒蛇飛行馬戲團的愛好者淵源 從ABC發展而來 主要受Modula-3的影響 結合了Unixshell和C的習慣Python的語言特點Python是一種面向對象的解釋性語言Python是免費的Python是可移埴的Python是可擴展的Python是簡單的Python是萬能的Python的語法特點Python是一種語法表達極其優美的腳本語言運行方式 命令行、交互式、圖形集成環境面向對象 甚至還支持異常處理模塊和包 與Java類似,還開發了JPython語言擴展 可以用C/C++/Java編寫新的語言模塊

為什么是PythonPython有什么魅力值得我們去學習它使程序員的生活更有趣簡單易學功能豐富誰在使用Python呢?

Google NASA ...... [HowtoBecomeaHacker]一文中推薦使用Python贏得2007年度編程語言在編程語言流行度的評估方面,TIOBE一直是最為權威的機構之一。它每個月都根據有經驗的使用者、相關課程、第三方廠商,以及來自多個大型搜索引擎的統計數據,發布前100名編程語言的份額,并進行跨年度同期比較。Python贏得2007年度編程語言Python贏得2007年度編程語言Python被選為2007年度語言。最終,Python一年來取得了最大的增長(2.04%)。沒有清楚的原因為什么Python在2007年取得了巨大的進步。上個月Python在歷史上第一次超越了Perl,這是Python成為"工業標準"系統級粘合劑語言的信號。它尤其受到系統管理員和構建管理人員的喜愛。隨著Python3的推出,Python在2008年繼續上升的機會很大。

學習AI為什么用Python對照偽代碼,使用Python很容易實現編碼 AIMA教材提供了課程相關內容比較完整的 Python源代碼語句簡練,編程效率高AI處理的特點:符號

Python豐富的數據類型,包括string,list等AI處理的特點:統計理論

Python極強的數學處理能力,包括矩陣運算Python還可以做很多的事情,學會它可以增強自身的競爭力,提高自己的工作效率使用Python(Windows下)/下載python-2.5.msi下載python-2.5.msi

安裝兩種主要運行Python程序的方法命令行交互模式兩種主要運行Python程序的方法將程序寫成文件形式,再由Python執行IDLE開發環境(PythonGUI)IDLE開發環境(PythonGUI)編寫Python程序可以使用任何一種文本編輯器,當然使用IDLE的編輯器,有語法高亮等提示Python語法可直接在>>>提示符后輸入表達式,Python將會計算表示式,得到結果>>>1+1

2

>>>2*3

6

>>>2**3

8指數字符串Python內建了字符串數據類型,并重載了運算符“+”>>>'artificial'+"intelligence"

'artificialintelligence'

可以使用‘’,也可以使用“”例如:字符串Python內建有許多方法進行字符串操作例如:變量無需事先定義可以把表達式存入變量中>>>s='helloworld'

>>>prints

helloworld

>>>s.upper()

'HELLOWORLD'

>>>len(s.upper())

11

>>>num=8.0

>>>num+=2.5

>>>printnum

10.5例如:練習1學習Python的字符串方法,可通過使用命令dir和help獲取更多的幫助信息例如:點運算符列表LISTPython內建許多有用的數據結構,列表(LIST)是其中之一;列表保存的是一組(可變)項>>>fruits=['apple','orange','pear','banana']

>>>fruits[0]

'apple'可以使用‘+’串連列表例如:>>>otherFruits=['kiwi','strawberry']

>>>fruits+otherFruits

>>>['apple','orange','pear','banana','kiwi','strawberry']列表LISTPython允許使用負索引訪問列表,例如fruits[-1]將訪問列表fruits的最后一個元素‘banana’>>>fruits[-2]

'pear'列表LISTPython內建許多列表方法,例如pop,append等>>>fruits.pop()

'banana'

>>>fruits

['apple','orange','pear']

>>>fruits.append('grapefruit')

>>>fruits

['apple','orange','pear','grapefruit']

>>>fruits[-1]='pineapple'

>>>fruits

['apple','orange','pear','pineapple']

列表LIST可以使用切片操作符‘:’,獲取列表的一個切片,即一部分列表>>>fruits[0:2]

['apple','orange']

>>>fruits[:3]

['apple','orange','pear']

>>>fruits[2:]

['pear','pineapple']

>>>len(fruits)

4列表LIST列表中可以是任何的Python數據類型,所以可以有列表的列表>>>lstOfLsts=[['a','b','c'],[1,2,3],['one','two','three']]

>>>lstOfLsts[1][2]

3

>>>lstOfLsts[0].pop()

'c'

>>>lstOfLsts

[['a','b'],[1,2,3],['one','two','three']]

練習2使用命令dir和help學習列表的其他方法>>>dir(list)

……

>>>help(list.reverse)Helponbuilt-infunctionreverse:reverse(...)L.reverse()--reverse*INPLACE*>>>lst=['a','b','c']

>>>lst.reverse()

>>>['c','b','a']

還有更多……元組tuple元組tuple是和列表list類似的Python內建數據結構,只不過元組一旦創建,就不可改變;另外元組用圓括號(),而列表用方括號[]>>>pair=(3,5)

>>>pair[0]

3

>>>x,y=pair

>>>x

3

>>>y

5

>>>pair[1]=6

TypeError:objectdoesnotsupportitemassignment字典dictionary另一個數據結構是字典,類似于你通過聯系人名字查找地址和聯系人詳細情況的地址簿,即,我們把鍵(名字)和值(詳細情況)聯系在一起。注意,你只能使用不可變的對象(比如字符串)來作為字典的鍵,但是你可以把不可變或可變的對象作為字典的值。基本說來就是,你應該只使用簡單的對象作為鍵。鍵值對在字典中以這樣的方式標記:d={key1:value1,key2:value2}。注意它們的鍵/值對用冒號分割,而各個對用逗號分割,所有這些都包括在花括號中。字典dictionary>>>studentIds={'aria':42.0,'arlo':56.0,'john':92.0}

>>>studentIds['arlo']

56.0

>>>studentIds['john']='ninety-two'

>>>studentIds

{'aria':42.0,'arlo':56.0,'john':'ninety-two'}

>>>delstudentIds['aria']

>>>studentIds

{'arlo':56.0,'john':'ninety-two'}

>>>studentIds['aria']=[42.0,'forty-two']

>>>studentIds

{'aria':[42.0,'forty-two'],'arlo':56.0,'john':'ninety-two'}

>>>studentIds.keys()

['aria','arlo','john']

>>>studentIds.values()

[[42.0,'forty-two'],56.0,'ninety-two']

>>>studentIds.items()

[('aria',[42.0,'forty-two']),('arlo',56.0),('john','ninety-two')]

>>>len(studentIds)

3字典dictionary練習3使用命令dir和help學習字典的其他方法獲取輸入input(prompt) (預設為數字類型)raw_input(prompt) (轉為字符串類型)例如:>>>x=raw_input("請輸入您的名字:")>>>printx+"您好!"如果是>>>x=input("請輸入您的名字:")>>>printx+“您好!”則會怎樣?

range(x),用這個函數可以產生出一個列表(list),成員分別為0,1,2,3,...,x-1。輸入下列指令可以很簡單的看出來他的功用:

>>>ran=range(10)

>>>printran

[0,1,2,3,4,5,6,7,8,9]

這個在之后的for循環會常使用到.

方便好用的rangePython編程(腳本編寫)前面使用Python的方式是一種互動的方式,下面介紹的是Python腳本的編寫,首先以IF語句為例a=raw_input(“想不想去看加勒比海盜3呀?")ifa=="想":

print"那走吧!"elifa=="不想":

print"那你想看什么呢?"else: print"嗯,你到底想怎么樣…"

腳本編寫將上頁代碼保存為文件if.py,則可以在命令行模式下通過pythonif.py運行程序for循環#Thisiswhatacommentlookslikefruits=['apples','oranges','pears','bananas']forfruitinfruits:printfruit+'forsale'fruitPrices={'apples':2.00,'oranges':1.50,'pears':1.75}forfruit,priceinfruitPrices.items():ifprice<2.00:print'%scost%fapound'%(fruit,price)else:printfruit+'aretooexpensive!'注釋for循環將上頁代碼保存為文件foreach.py,可以通過IDLE的run運行該程序特別注意:縮進空白在Python中是重要的。事實上行首的空白是重要的。它稱為縮進。在邏輯行首的空白(空格和制表符)用來決定邏輯行的縮進層次,從而用來決定語句的分組。if0==1:print'Weareinaworldofarithmeticpain'print'Thankyouforplaying'將輸出Thankyouforplaying

if0==1:print'Weareinaworldofarithmeticpain'print'Thankyouforplaying'則不會有輸出特別注意:縮進可以使用空格或制表符產生縮進,兩個空格或四個空格都是可以的,不過一般建議使用一個制表符TAB產生縮進,你的所有程序應該固定使用一種縮進規則for應用于列表再看一個例子,簡單的語句即可對列表進行操作nums=[1,2,3,4,5,6]plusOneNums=[x+1forxinnums]oddNums=[xforxinnumsifx%2==1]printoddNumsoddNumsPlusOne=[x+1forxinnumsifx%2==1]printoddNumsPlusOne練習4寫一個程序,生成并輸出一個字符串列表中長度大于5的字符串的小寫形式函數#文件名:function1.pydefsayHello():

#屬于函數的語句塊開始print‘HelloWorld!(怎么總是這一句,好像蠻白癡的:))’#你還可以在函數語句塊中做你想的任何事情!sayHello()#調用該函數sayHello()#再次調用,隨你喜歡多少次都行函數例子2fruitPrices={'apples':2.00,'oranges':1.50,'pears':1.75}defbuyFruit(fruit,numPounds):iffruitnotinfruitPrices:print"Sorrywedon'thave%s"%(fruit)else:cost=fruitPrices[fruit]*numPoundsprint"That'llbe%fplease"%(cost)buyFruit('apples',2.4)buyFruit('coconuts',2)函數例子2將上頁代碼保存為文件fruit.py,運行,分析練習5增加多一些水果到字典fruitPrices

中,添加函數buyLotsOfFruit,該函數變量為元組(fruit,pound)的列表,并返回該列表所表示的水果總的價錢類和對象封裝了數據,并提供與這些數據交互的函數classFruitShop:def__init__(self,name,fruitPrices):"""name:NameofthefruitshopfruitPrices:Dictionarywithkeysasfruitstringsandpricesforvaluese.g.{'apples':2.00,'oranges':1.50,'pears':1.75}"""self.fruitPrices=fruitPrices=nameprint'Welcometothe%sfruitshop'%(name)defgetCostPerPound(self,fruit):"""fruit:FruitstringReturnscostof'fruit',assuming'fruit'isinourinventoryorNoneotherwise"""iffruitnotinself.fruitPrices:print"Sorrywedon'thave%s"%(fruit)returnNonereturnself.fruitPrices[fruit]

defgetPriceOfOrder(self,orderList):"""orderL

溫馨提示

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

評論

0/150

提交評論