版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
Python根底培訓(xùn)許海根Python根底篇Python簡介Python是一種開源的、解析性的,面向?qū)ο蟮木幊陶Z言。Python使用一種優(yōu)雅的語法,可讀性強Python支持類和多層繼承等的面向?qū)ο缶幊碳夹g(shù)。Python可運行在多種計算機平臺和操作系統(tǒng)中,如unix,windows,MacOS,OS/2等等Python代碼的運行運行python腳本:(例)交互式運行(在Windows平臺下有GUI界面〕執(zhí)行python腳本文件在Linux/UNIX環(huán)境下運行程序。在python頭部加一行:#!/usr/local/bin/pythonchmod+xmyfile.py./myfile.py(當(dāng)然也可以直接以pythonmyfile方式執(zhí)行)快速開始簡單語句print“helloworld”(例)計算器(例)#filename:HelloWorld.pyprint'HelloWorld!'#filename:caculator.pydefcal():numA=float(raw_input('Pleaseenteranumber:'))op=raw_input('Pleaseenteraoperator:')numB=float(raw_input('Pleaseenteranothernumber:'))
ifop=='+':print"result:",numA+numBelifop=='-':print"result:",numA-numBelifop=='*':print"result:",numA*numBelifop=='/':print"result:",numA/numBelse:print"Unknownoperator",opif__name__=='__main__':cal()注釋和模塊注釋(例)#我是注釋模塊(例)importsyssys.exit()#filename:import.pyimportcaculatorif__name__=='__main__':caculator.cal()Python的數(shù)據(jù)類型變量的定義。在python中,變量的類型是由賦給它的數(shù)值定義的。q=7#q其為數(shù)值型變量q=“Seven”#q為字符串型變量根本數(shù)據(jù)類型:字符串,整數(shù),浮點數(shù),虛數(shù),布爾型。集合類型:列表〔List),元組〔Tuple),字典〔Dictionary或Hash)Python的數(shù)據(jù)類型:列表(例)列表〔List)List的定義。aList=[23]或者bList=[1,2,3]List的使用。可以像c語言中數(shù)據(jù)一樣引用list中的元素。printbList[1]Python的數(shù)據(jù)類型:列表〔方法)列表對象支持的方法(演示〕append(x)count(x):X在List中的個數(shù)extend(L)Index(x)insert(i,x)pop(x)remove(x)reverse()sort()#!/usr/bin/python#Filename:using_list.py#Thisismyshoppinglistshoplist=['apple','mango','carrot','banana']print'Ihave',len(shoplist),'itemstopurchase.'print'Theseitemsare:\n',#Noticethecommaatendofthelineforiteminshoplist:printitemprint'\nIalsohavetobuyrice.\n'shoplist.append('rice')print'Myshoppinglistisnow',shoplistprint'\nIwillsortmylistnow.\n'shoplist.sort()print'Sortedshoppinglistis:\n',shoplistprint'\nThefirstitemIwillbuyis:\n',shoplist[0]olditem=shoplist[0]delshoplist[0]print'\nIboughtthe',olditemprint'\nMyshoppinglistisnow:\n',shoplistPython的數(shù)據(jù)類型:元組Tuple(例)Tuple的定義aTuple=(1,3,5)printaTuple元組可以用方括號括起下標(biāo)做索引元組一旦創(chuàng)立就不能改變列表大局部操作同樣適用于元組#!/usr/bin/python#Filename:using_tuple.pyzoo=('wolf','elephant','penguin')print'Numberofanimalsinthezoois',len(zoo)new_zoo=('monkey','dolphin',zoo)print'Numberofanimalsinthenewzoois',len(new_zoo)print'Allanimalsinnewzooare',new_zooprint'Animalsbroughtfromoldzooare',new_zoo[2]print'Lastanimalbroughtfromoldzoois',new_zoo[2][2]Python的數(shù)據(jù)類型:字典Hash(例)字典是一個用大括號括起來的鍵值對,字典元素分為兩部份,鍵(key)和值。字典是python中唯一內(nèi)置映射數(shù)據(jù)類型。通過指定的鍵從字典訪問值。字典的使用:a={‘a(chǎn)’:’aa’,‘b’:’bb’,‘c’:’cc’}a[‘c’]=‘cc’Python的數(shù)據(jù)類型:字典〔常用方法)字典的常用方法〔演示〕:has_key(x)keys()values()items()clear()copy()update(x)get(x[,y])#Filename:using_dict.pyab={'Swaroop':'swaroopch@','Larry':'larry@','Matsumoto':'matz@','Spammer':'spammer@hotmail'}print"Swaroop'saddressis%s"%ab['Swaroop']#Addingakey/valuepairab['Guido']='guido@'print'\nThereare%dcontactsintheaddress-book\n'%len(ab)#Deletingakey/valuepairdelab['Spammer']print'\nThereare%dcontactsintheaddress-book\n'%len(ab)forname,addressinab.items():print'Contact%sat%s'%(name,address)if'Guido'inab:print"\nGuido'saddressis%s"%ab['Guido']ifab.has_key('Guido'):print"\nGuido'saddressis%s"%ab['Guido']代碼例如#Filename:string_methods.pyname='Swaroop'#Thisisastringobjectifname.startswith('Swa'):print'Yes,thestringstartswith"Swa"'if'a'inname:print'Yes,itcontainsthestring"a"'ifname.find('war')!=-1:print'Yes,itcontainsthestring"war"'delimiter='_*_'mylist=['Brazil','Russia','India','China']printdelimiter.join(mylist)代碼例如#Filename:string_slice.pyshoplist=['apple','mango','carrot','banana']#Indexingor'Subscription'operationprint'Item0is',shoplist[0]print'Item1is',shoplist[1]print'Item2is',shoplist[2]print'Item3is',shoplist[3]print'Item-1is',shoplist[-1]print'Item-2is',shoplist[-2]#Slicingonalistprint'Item1to3is',shoplist[1:3]print'Item2toendis',shoplist[2:]print'Item1to-1is',shoplist[1:-1]print'Itemstarttoendis',shoplist[:]#Slicingonastringname='swaroop12345'print'characters1to3isname[1:3]=',name[1:3]print'characters2toendisname[2:]=',name[2:]print'characters1to-1(step=2)isname[1:-1:2]=',name[1:-1:2]print'charactersstarttoendisname[:]=',name[:]print'charactersstarttoendisname[::]=',name[::]Python控制語句ifPython支持三種不同的控制結(jié)構(gòu):if,for和while,不支持C語言中的switch語句。if語句的用法: ifEXPRESSION1: STATEMENT1 elifEXPRESSION2: STATEMENT2 else: STATEMENT3#!/usr/bin/python#Filename:if.pynumber=23guess=int(raw_input('Enteraninteger:'))ifguess==number:print'Congratulations,youguessedit.'#Newblockstartshereprint"(butyoudonotwinanyprizes!)"#Newblockendshereelifguess<number:print'No,itisalittlehigherthanthat'#Anotherblockelse:print'No,itisalittlelowerthanthat‘print'Done'#Thislaststatementisalwaysexecuted,aftertheifstatementisexecutedPython控制語句forfor語句的用法: mylist="forstatement" forwordinmylist: printword else:#最終執(zhí)行 print"Endlist"#!/usr/bin/python#Filename:for.pyforiinrange(1,6):printielse:print'Theforloopisover'mylist="forstatement"forwordinmylist:printwordelse:#excuteatlastprint"Endlist"Python控制語句whilewhile語句的用法: a=0 whilea<5: a=a+1 printa else: print"a'svalueisfive"Python循環(huán)中的控制語句break:終止當(dāng)前循環(huán)continue:終止本次循環(huán)pass:什么事都不錯#!/usr/bin/python#Filename:break.pywhileTrue:s=raw_input('Entersomething:')ifs=='quit':breakprint'Lengthofthestringis',len(s)print'Done'#!/usr/bin/python#Filename:continue.pywhileTrue:s=raw_input('Entersomething:')ifs=='quit':breakiflen(s)<3:continueprint'Inputisofsufficientlength'
Python函數(shù)函數(shù)定義: deffunction_name(arg1,arg2[,...]): statement [returnvalue]函數(shù)名:函數(shù)名必須以下劃線或字母開頭,可以包含任意字母、數(shù)字或下劃線的組合。不能使用任何的標(biāo)點符號;函數(shù)名是區(qū)分大小寫的。函數(shù)名不能是保存字。#!/usr/bin/python#Filename:function1.pydefsayHello():print'HelloWorld!'#blockbelongingtothefunctionsayHello()#callthefunctionPython函數(shù)形參函數(shù)取得的參數(shù)是你提供給函數(shù)的值,這樣函數(shù)就可以利用這些值做一些事情。這些參數(shù)就像變量一樣,只不過它們的值是在我們調(diào)用函數(shù)的時候定義的,而非在函數(shù)本身內(nèi)賦值。#!/usr/bin/python#Filename:func_param.pydefprintMax(a,b):ifa>b:printa,'ismaximum'else:printb,'ismaximum'printMax(3,4)#directlygiveliteralvaluesx=5y=7printMax(x,y)#givevariablesasargumentsPython函數(shù)局部變量當(dāng)你在函數(shù)定義內(nèi)聲明變量的時候,它們與函數(shù)外具有相同名稱的其他變量沒有任何關(guān)系,即變量名稱對于函數(shù)來說是局部的。這稱為變量的作用域。所有變量的作用域是它們被定義的塊,從它們的名稱被定義的那點開始。#!/usr/bin/python#Filename:func_local.pydeffunc(x):print'xis',xx=2print'Changedlocalxto',xx=50func(x)print'xisstill',xPython函數(shù):使用global語句如果你想要為一個定義在函數(shù)外的變量賦值,那么你就得告訴Python這個變量名不是局部的,而是全局的。我們使用global語句完成這一功能。#!/usr/bin/python#Filename:func_global.pydeffunc():globalxprint'xis',xx=2print'Changedlocalxto',xx=50func()print'Valueofxis',x#!/usr/bin/python#Filename:func_global.pydeffunc(x):x=2print'Changedlocalxto',xx=50func(x)print'Valueofxis',xPython函數(shù):默認(rèn)參數(shù)值對于一些函數(shù),你可能希望它的一些參數(shù)是可選的,如果用戶不想要為這些參數(shù)提供值的話,這些參數(shù)就使用默認(rèn)值。這個功能借助于默認(rèn)參數(shù)值完成。你可以在函數(shù)定義的形參名后加上賦值運算符〔=〕和默認(rèn)值,從而給形參指定默認(rèn)參數(shù)值。#!/usr/bin/python#filename:func_default.pydefsay(message,times=1):print(message+'')*timessay('Hello')say('World',5)Python函數(shù):關(guān)鍵參數(shù)如果你的某個函數(shù)有許多參數(shù),而你只想指定其中的一局部,那么你可以通過命名來為這些參數(shù)賦值——這被稱作關(guān)鍵參數(shù)——我們使用名字〔關(guān)鍵字〕而不是位置〔我們前面所一直使用的方法〕來給函數(shù)指定實參。#!/usr/bin/python#Filename:func_key.pydeffunc(a,b=5,c=10):print'ais',a,'andbis',b,'andcis',cfunc(3,7)func(25,c=24)func(c=50,a=100)Python函數(shù)return語句return語句用來從一個函數(shù)返回即跳出函數(shù)。我們也可選從函數(shù)返回一個值。#!/usr/bin/python#Filename:func_return.pydefmaximum(x,y):ifx>y:returnxelse:returnyprintmaximum(2,3)Lambda函數(shù)lambda語句被用來創(chuàng)立新的函數(shù)對象,并且在運行時返回它們#Filename:lambda.pydefmake_repeater(n):returnlambdas:s*ntwice=make_repeater(2)printtwice('word')printtwice(2)#filename:lambda_2.pylist_1=['0z','1y','2x']list_1.sort()printlist_1list_1.sort(lambdax,y:cmp(x[-1],y[-1]))printlist_1list_1.sort(lambdax,y:cmp(x[-1],y[-1]),reverse=True)printlist_1文件的輸入輸出poem='\Programmingisfun\r\n\Whentheworkisdone\r\n\Ifyouwannamakeyourworkalsofun:\r\n\UsePython!'f=file('poem.txt','w')#openfor'w'ritingf.write(poem)#writetexttofilef.close()#closethefilef=file('poem.txt')#ifnomodeisspecified,'r'eadmodeisassumedbydefaulti=0whileTrue:line=f.readline()
iflen(line)==0:#ZerolengthindicatesEOFbreaki=i+1printi,'',line,#NoticecommatoavoidautomaticnewlineaddedbyPythonf.close()#closethefile模塊模塊根本上就是一個包含了所有你定義的函數(shù)和變量的文件。為了在其他程序中重用模塊,模塊的文件名必須以.py為擴展名。
使用sys模塊sys模塊包含了與Python解釋器和它的環(huán)境有關(guān)的函數(shù)。#Filename:import_sys.pyimportsysprint'Thecommandlineargumentsare:'foriinsys.argv:printiprint'\n\nThefilenameis',__file__print'\n\nThePYTHONPATHis',sys.pathimportsysdefreadfile(filename):'''Printafiletothestandardoutput.'''f=file(filename)whileTrue:line=f.readline()iflen(line)==0:breakprintline,#noticecommaf.close()iflen(sys.argv)<2:print'Noactionspecified.'sys.exit()ifsys.argv[1].startswith('--'):option=sys.argv[1][2:]ifoption=='version':print'Version1.2'elifoption=='help':print'\r\n\Thisprogramprintsfilestothestandardoutput.\r\n\Anynumberoffilescanbespecified.\r\n\Optionsinclude:\r\n\--version:Printstheversionnumber\r\n\--help:Displaythishelp\r\n'else:print'Unknownoption.'sys.exit()else:forfilenameinsys.argv[1:]:print'=============',filename,'=============='readfile(filename)print'\r\n\r\n'模塊的__name__每個模塊都有一個名稱,在模塊中可以通過__name__來找出模塊的名稱。當(dāng)模塊作為文件獨立運行時,__name__值為__main__當(dāng)模塊被別的文件調(diào)用時,__name__值為模塊本身的名字#Filename:import_name.pyif__name__=='__main__':print'Thisprogramisbeingrunbyitself‘else:print'Iambeingimportedfromanothermodule’#filename:import_other_module.pyimportimport_nameif__name__=='__main__':print'import_name.__name__:',import_name.__name__print'my__name__:',__name__面向?qū)ο蟮木幊堂嫦蜻^程的編程根據(jù)操作數(shù)據(jù)的函數(shù)或語句塊來設(shè)計程序的,這被稱為面向過程的編程。面向?qū)ο蟮木幊?/p>
把數(shù)據(jù)和功能結(jié)合起來,用稱為對象的東西包裹起來組織程序的方法,這種方法稱為面向?qū)ο蟮木幊填惡蛯ο笕f物皆屬為"對象","類"是"對象"的抽象定義,"對象"是"類"的具體實例.類和對象是面向?qū)ο缶幊痰膬蓚€主要方面。類創(chuàng)立一個新類型,而對象這個類的實例有一個int類型的變量,這存儲整數(shù)的變量是int類的實例〔對象〕。類的屬性域?qū)ο罂梢允褂闷胀ǖ膶儆趯ο蟮淖兞看鎯?shù)據(jù)。屬于一個對象或類的變量被稱為域。域有兩種類型——屬于每個實例對象或?qū)儆陬惐旧?。它們分別被稱為實例變量和類變量。方法對象也可以使用屬于類的函數(shù)來具有功能。這樣的函數(shù)被稱為類的方法。類的定義#filename:class_def.pyclassPerson:defsayHi(self):print'Hello,howareyou?'p=Person()p.sayHi()__init__方法__init__方法在類的一個對象被建立時,馬上運行。這個方法可以用來對你的對象做一些你希望的初始化。注意,這個名稱的開始和結(jié)尾都是雙下劃線。#filename:class_init.pyclassPerson:def__init__(self,name):=namedefsayHi(self):print'Hello,mynameis',p=Person('Swaroop')p.sayHi()
類與對象的變量類的變量由一個類的所有對象〔實例〕共享使用。只有一個類變量的拷貝,所以當(dāng)某個對象對類的變量做了改動的時候,這個改動會反映到所有其他的實例上。對象的變量由類的每個對象/實例擁有。因此每個對象有自己對這個域的一份拷貝,即它們不是共享的,在同一個類的不同實例中,雖然對象的變量有相同的名稱,但是是互不相關(guān)的。通過一個例子會使這個易于理解。classPerson:population=0def__init__(self,name):=nameprint'(Initializing%s)'%Person.population+=1defsayHi(self):print'Hi,mynameis%s.'%defhowMany(self):ifPerson.population==1:print'Iamtheonlypersonhere.'else:print'Wehave%dpersonshere.'%Person.populationswaroop=Person('Swaroop')swaroop.sayHi()swaroop.howMany()kalam=Person('AbdulKalam')kalam.sayHi()kalam.howMany()
繼承面向?qū)ο蟮木幊處淼闹饕锰幹皇谴a的重用,實現(xiàn)這種重用的方法之一是通過繼承機制。繼承完全可以理解成類之間的類型和子類型關(guān)系。。classSchoolMember:def__init__(self,name,age):=nameself.age=ageprint'(InitializedSchoolMember:%s)'%deftell(self):print'Name:"%s"Age:"%s"'%(,self.age)classTeacher(SchoolMember):def__init__(self,name,age,salary):SchoolMember.__init__(self,name,age)self.salary=salary
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省外語藝術(shù)職業(yè)學(xué)院《高等代數(shù)綜合訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東輕工職業(yè)技術(shù)學(xué)院《高級英語Ⅲ》2023-2024學(xué)年第一學(xué)期期末試卷
- 【名師一號】2020-2021學(xué)年高中地湘教版選修6-雙基限時練14
- 【2021屆備考】2020全國名?;瘜W(xué)試題分類解析匯編:K單元-烴
- 【課堂設(shè)計】2014-2021學(xué)年高中生物拓展演練:4.1-種群的特征(人教版必修3)
- 【優(yōu)教通-備課參考】2020年高中物理教學(xué)設(shè)計:6.2《行星的運動》1(人教版必修2)
- 2025年七年級統(tǒng)編版語文寒假預(yù)習(xí) 第05講 古代詩歌五首
- 【走向高考-2022】(新課標(biāo)版)高考語文一輪總復(fù)習(xí)專項訓(xùn)練-專題12-古代詩歌鑒賞-第5節(jié)
- 【KS5U原創(chuàng)】新課標(biāo)2021年高一地理暑假作業(yè)一
- 【優(yōu)化探究】2022屆高三物理一輪復(fù)習(xí)知能檢測:8-1電流、電阻、電功、電功率-
- 【企業(yè)杜邦分析國內(nèi)外文獻綜述6000字】
- taft波完整版可編輯
- 2023-2024學(xué)年浙江省富陽市小學(xué)數(shù)學(xué)五年級上冊期末通關(guān)試題
- TTAF 092-2022 移動終端融合快速充電測試方法
- GB/T 9410-2008移動通信天線通用技術(shù)規(guī)范
- GB/T 5343.2-2007可轉(zhuǎn)位車刀及刀夾第2部分:可轉(zhuǎn)位車刀型式尺寸和技術(shù)條件
- GB/T 32285-2015熱軋H型鋼樁
- GB/T 13772.2-1992機織物中紗線抗滑移性測定方法模擬縫合法
- SVG運行與維護課件
- 企業(yè)大學(xué)商學(xué)院建設(shè)方案
- 部編人教版 六年級下冊道德與法治課堂作業(yè)(含答案)
評論
0/150
提交評論