《Python入门教程-超详细1小时学会Python.docx》由会员分享,可在线阅读,更多相关《Python入门教程-超详细1小时学会Python.docx(11页珍藏版)》请在优知文库上搜索。
1、printExecutionresult:s*p.stdout,read对比JW&Pylh切的实现更为的活,你端写的时间更快.你不须要写Imli“南改,并且这个程序保存之后可以干脆运行.另外,和JaYa一样,Python也是跄平价的.有阅历的C/Java程序员可能会争辩说用C/Java写会比Python写得快.这个观点见仁见智.我的想法是当你同时驾驭JaVa和Python之后,你会发觉用Python写这类程序的速度会比Java快上很多.例如操作本地文件时你仅须要一行代码而不须要JaVa的很多流包装类.各种谙=有其自然的适合的应用范用.用PythOn处理一些简短程序类似与操作系统的交互编程工作最
2、省时省力.PythonJS用场合足够商浩的任务,例如一此ShCII编程,假如你喜爱用Pylhon设计大型商业网站或者设计困难的嬉戏.悉听等使.2快速入门2.1 Helloworld安装完Pylhou之后我本机的版本是2.5.4),打开ID1.E(PyIhOnGUI),该程序是Python谱吉说明零,你写的谱句能嵯可上运行.我们写下一甸闻名的程序语句:print*HclIo.world!*并按I可车.你就能看到这句被K&R引入到程序世界的名吉.在说明器中选择.FileNewWindow*或快捷键Ctrl+N,打开一个新的编辑器.写下如F语句:print*ltello,orld!*ra*-inut
3、(*Preenterkeytoclosethis*ind0r;保存为a.Py文件.按1阻你就可以看到程序的运行结果U这是Python的其次种运行方式.找到你保存的u.Py文件,双击,也Ur以看到程序结果.Python的程序能终干脆运行,对比Java,这是一个优势.2.2 国际化支持我们换一种方式来问候世界.新建一个娟辑翳并写如下代码:print欢iffi来到奥运中国!nrr_input(*Prcsnmtrrkeytclosethiswindow,*);在你保存代码的时候,Pyihon会提示你是否变更文件的字符集,结果如下:#T-coding:cp936print欢迎来到奥运中国广raw_inp
4、ut(*Pressenterkeytoclosethiswindow-);招该字符集改为我的更熟识的形式:1.1 T-coding:GBKr*v*Jnput(*Pressenterkeytoclosethiswindow*:程序一样运行良好.2.3 便利舄用的计算叁用微软附带的计算零来计数实在太麻烦了.打开Pylhon说明零,干脆进行计算:JI=100.0b=201.Jc=2343print(a*bc)/c2.4 字符申,ASCII和UNICODE可以如卜打印出预定义输出格式的字符串:printUsage:thingy(lIWS-hDi即叫thisUSngGw?ssage-HhostnaneI
5、lostnanetoconnectto*A字符串是怎么访问的?请看这个例子:vord=*abcdefg*a=word2print*ais:*abinri1.l:3print*bis:*bindex1and2elentsofword.c=rord:2printcis:*cindex0ndek11entsof*,ord.d=t*ord0:print*dis:duAll0nrd:2mrd:2:print*eis:,三AllClenMIISofWOr(1.GlerlenISofword.f=ord-lprint*fis:*fThelastole;printYouraneIs:-*s;I=ICnprin
6、t*lengthofyourChineseraeina豕codesisi*strrd:2Ford2:printeis:“printeAllelementsofword.f=Mord-lprintfsThelastelenensof*ori.giuord-1z-2print,gis:*printg#index3and4elett*ntsofword.h三ord-2:print*his:“printh三Thelasttwoele11ents.i三wordr-2print*iis:printi三Kvcrythingexceptthehttvncharacters)=kn(vord)print*1.e
7、ngthofwordis:Jstr(l)print.AddsnewQle(WZ”三ord.appendCh,)printvord2.6 条件和循环语句#Multi-waydecisionx=ini(rawii(*Pleasenteraninteger:*)ifx0:x=0print*Negativechangedtozero*elifx=0:print*More*else:三1.oops1.ista三,cat,window,*defenestrate,forxina:printx.Irn(x)2.7 如何定义函数三Drfinnandinvokefunction.defsun(a,b):retu
8、rnabfunc三sunr=fu11=2):returnnbGddprintrr=add(lv5)printr并且,介绍一个便利好用的函数:MTherange()functiona=range10)range(-2t-7)printn=printaa三ranee(-7l-2)printan-range(-2,-11.-3)11The3rdJxirawcHcrStandKforstepprint2.8文件I/Ospath-*Djdo*nloodbaMOpensfileforwriting.Createsthisfiledoesn*texist.f.*riteCFirstline1.n*)t.vr
9、ritcli11cx(*FirxtIine2.*)f.closet)f=open(spath.*r*)=OpensfileforreadingforHneinf:printIinef.closo()2.9 异样处理s-rawinput(*1rutyrage:*)if8=:raiseException(*Inputnustnobee11ty.*)try:i=int(x)exceptValuError:print*Couldnotconvertdatatoaninteger.*except:printUnknmmexception!”else:三Itisusefulforcodethatoustb
10、eexecutedifthetryclausedoesnotraiseanexceptionprint*Youare%d*%i,*yearsold*finally:三CInnupactionprintGoodbye!*2.10 类和健承classBase:definit_(self):self,data=dfndd(!crlf(x):self.daU.append(x)defaddtvice(self,x):self.Hdd(X)self,add(x)三ChildextendsBaseclassChild(Bftse):deflus(self.a.b):returna,b11Chili=Chi
11、ldOoChild.add(*strl*)printchild.dataprimcild.lu(2.3)2.11 包机IM每一个.py文件称为一个module,module之间可以相互导入.请参看以下例子:三nPydefadd_funcU.b);returnabSb.pyfr11ni11prtaddfunr三Alsocanhe:i11prtaprint*l11portHddfUnCfronnodulea*print*ResukofIplus2is:*print2icidfunc(,2)三Ifusing*icpnrtn*.thenhereshouldbc*n.addfunc”module可以定义
12、在包里面.Python定义包的方式略微。点怪异,假设我们有一个Parent文件夹,该文件夹有一个ChiId子文件夹.child中有一个BOtIulea.y.如何让PyIhOn知道这个文件层次结构?很简洁,每个书目都放一个名为init.py的文件.该文件内容可以为空.这个层次结构如下所示:parent-_y-child-JniJpyfpyb.py那么Python如何找到我们定义的module?在标准包sys中,DalhM性记录了Python的包路径,你可以将之打卬出来:inportsysprintsys.PIath通常我们可以将modu1C的包路存放到环境变(ftPYTHONPATH中,该环境变会11动添加到sys.path属性.另种便利的方法是编程中干脆指定我们的module路径到