python入门教程.ppt
《python入门教程.ppt》由会员分享,可在线阅读,更多相关《python入门教程.ppt(39页珍藏版)》请在咨信网上搜索。
起源起源“19891989年年1212月,我在寻找一门月,我在寻找一门“课余课余”编编程项目来打发圣诞节前后的时间。我程项目来打发圣诞节前后的时间。我的办公室会关门,但我有一台家用电的办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言为当时我正构思的一个新的脚本语言写一个解释器,它是写一个解释器,它是 ABC ABC 语言的后代,语言的后代,对对 UNIX/C UNIX/C 程序员会有吸引力。作程序员会有吸引力。作为一个略微有些无关想法的人,和一为一个略微有些无关想法的人,和一个个蒙提蒙提派森(派森(Monty PythonMonty Python)的飞)的飞行马戏团行马戏团的狂热爱好者,我选择了的狂热爱好者,我选择了 Python Python 作为项目的标题。作为项目的标题。”作者作者 :Guido Van Rossum(GvR)Guido Van Rossum(GvR)Computer Programming for EverybodyComputer Programming for Everybody19991999年,年,GuidoGuido向向DARPADARPA阐述阐述PythonPython语言的特性:语言的特性:简单、直观、强大简单、直观、强大开源,以便任何人都可以为它做贡献开源,以便任何人都可以为它做贡献代码像纯英语那样容易理解代码像纯英语那样容易理解适用于短期开发的日常任务适用于短期开发的日常任务这些想法中的一些已经成为现实。这些想法中的一些已经成为现实。Python Python 已经成为一门流行的已经成为一门流行的编程语言,尤其是在互联网环境下。编程语言,尤其是在互联网环境下。特性特性q交互式命令行交互式命令行(Interactive console)(Interactive console)q不只是脚本不只是脚本q强大易用的标准库强大易用的标准库q胶水语言胶水语言(glue language)(glue language)q收放自如收放自如(scalability)(scalability)q不要括号不要括号交互式命令行交互式命令行(Interactive console)(Interactive console)PythonPython可以单步直译运行。运行可以单步直译运行。运行PythonPython解释器或解释器或IDLEIDLE进入交进入交互式命令行的环境,你可以在提示符号互式命令行的环境,你可以在提示符号旁输入代码,按旁输入代码,按EnterEnter键键 print(Hello,Python!)print(Hello,Python!)Hello,Python!Hello,Python!不只是脚本不只是脚本原因是原因是“脚本语言脚本语言”泛指仅作简单编程任务的语言,泛指仅作简单编程任务的语言,如如LuaLua、JavaScriptJavaScript等,它们只能处理简单的任务等,它们只能处理简单的任务而而PythonPython是面向对象编程(是面向对象编程(OOP)OOP)的,支持异常处理和类型检的,支持异常处理和类型检查查PythonPython的支持者较喜欢称它为一种的支持者较喜欢称它为一种高阶动态编程语言高阶动态编程语言强大易用的标准库强大易用的标准库q核心库不超过核心库不超过10Mb10MbqHtmlHtml、XmlXml解析:解析:BeautifulSoup,ExpatBeautifulSoup,Expatq字符串处理:字典、数组切片、正则表达式字符串处理:字典、数组切片、正则表达式 rereq单元测试:单元测试:PyUnitPyUnitq代码版本控制:代码版本控制:PySVNPySVNq网络访问:网络访问:urllib2urllib2q图形模块:图形模块:TkinterTkinter、PyTCLPyTCL、WxPythonWxPythonq串行化、多线程等串行化、多线程等q扩展标准库十分容易扩展标准库十分容易胶水语言胶水语言(glue language)(glue language)PythonPython经常用作将不同语言编写的程序经常用作将不同语言编写的程序“粘粘”在一起的胶水语言。在一起的胶水语言。GoogleGoogle内部的很多项目使用内部的很多项目使用C+C+编写性能要求极高的部分,编写性能要求极高的部分,然后用然后用PythonPython调用相应的模块。调用相应的模块。C/C+:C/C+:Boost.PythonBoost.Python使得使得 Python Python 和和 C+C+的类库能互相调用(的类库能互相调用(.pyc.pyc)Java:Java:Jython Jython 是用是用JavaJava实现的实现的PythonPython,可同时使用二者的类库,可同时使用二者的类库.NET:.NET:IronPythonIronPython是是PythonPython在在.NET.NET平台上的版本。平台上的版本。收放自如收放自如(scalability)(scalability)PythonPython内建的数据结构(内建的数据结构(variable,list variable,list 和和 dictdict)以及对)以及对多线程分布式操作的支持,使得程序可以用相同的代码处多线程分布式操作的支持,使得程序可以用相同的代码处理不同规模的数据,理不同规模的数据,以及并发的用户需求。以及并发的用户需求。不要括号不要括号PythonPython使用缩进而不是括号来进行代码段标识,减少了视觉上使用缩进而不是括号来进行代码段标识,减少了视觉上的混乱,并且使程序变短,从而提高了程序的可读性。的混乱,并且使程序变短,从而提高了程序的可读性。用途用途q脚本程序脚本程序q大型程序的原型开发大型程序的原型开发q科学计算科学计算q网络应用网络应用q计算机图形编程计算机图形编程应用举例应用举例qGoogle-Google-谷歌在很多项目中用谷歌在很多项目中用pythonpython作为网络应用作为网络应用的后端,如的后端,如Google GroupsGoogle Groups、GmailGmail、Google MapsGoogle Maps等,等,Google App EngineGoogle App Engine支持支持pythonpython作为开发语言作为开发语言qNASA-NASA-美国宇航局,从美国宇航局,从19941994年起把年起把pythonpython作为主要作为主要开发语言开发语言q豆瓣网豆瓣网 -图书、唱片、电影等文化产品的资料数据图书、唱片、电影等文化产品的资料数据库网站库网站qTorchlight-PythonTorchlight-Python编写的大型编写的大型3D3D游戏,原游戏,原BlizzardBlizzard公司人员制作发行,开源。公司人员制作发行,开源。qBlenderBlender -以以C C与与PythonPython开发的开源开发的开源3D3D绘图软件绘图软件q在科学研究中也得到广泛的应用。在科学研究中也得到广泛的应用。这么强大!这么强大!赶紧开始吧!开发环境开发环境qPyCharmPyCharm(支持(支持PEP8 PEP8 语法规范、跨平台、远程调试、上传语法规范、跨平台、远程调试、上传)qIpythonIpythonqVIM (VIM (主要主要在在linuxlinux下下使用使用)q其它编辑器其它编辑器UEUE,notepad+notepad+,editpluseditplus工欲善其,事必先利其器字符编码字符编码qPythonPython默认代码文件为默认代码文件为ASCIIASCII编码编码不指定编码时,文件中包含非不指定编码时,文件中包含非ASCIIASCII字符会报错字符会报错q第一行加第一行加#coding=utf-8#coding=utf-8,告诉编译器使用,告诉编译器使用utf-8utf-8编码编码#coding=utf-8#coding=utf-8print uprint u你好!你好!程序运行方式程序运行方式q使用使用IDLE或或python命令行工具进行交互式编程命令行工具进行交互式编程q调用解释器执行调用解释器执行py脚本文件脚本文件写个写个bat双击双击行和缩进行和缩进PythonPython使用缩进来表示代码块,使用缩进来表示代码块,而不是而不是使用大括号使用大括号 来表示代码块,来表示代码块,缩进在缩进在python里有重要的语法意义。里有重要的语法意义。建议使用四个空格来缩进代码,建议使用四个空格来缩进代码,不建议使用制表符。不建议使用制表符。注释注释 单行注释使用单行注释使用#号:号:#第一个注释第一个注释print Hello,Python!;print Hello,Python!;#第二个注释第二个注释多行注释三个双引号或三个单引号:多行注释三个双引号或三个单引号:这是多行注释,使用双引号。这是多行注释,使用双引号。这是多行注释,使用双这是多行注释,使用双引号。引号。这是多行注释,使用双引号。这是多行注释,使用双引号。Hello world Hello world q表达式表达式3+(7*4)+i#butnoi+3*5Hello+Worldnotaandnotcaborcd变量赋值a=43a=“HelloWorld”x,y=4+2,”python”pass 语句 不做任何事时使用ifa=aandb=c:printboolisTrueifnot(bc):printnotexpr,valueisTrue循环循环WhileWhile语句语句whilea intS.find(sub,start,end)-int字符串查找字符串查找qS.rfind(sub,start,end)-intS.rfind(sub,start,end)-int字符串反向查找字符串反向查找qS.replace(old,new,count)-stringS.replace(old,new,count)-string字符串替换字符串替换qS.strip(chars)-stringS.strip(chars)-string剔除两端空白剔除两端空白使用help函数查询类型帮助列表列表listlistq赋值赋值a=2,3,4#Alistofintegerb=2,7,3.5,“Hello”c=d=2,a,b#嵌套列表嵌套列表e=x*xforxinrange(10)q访问元素访问元素x=a1#Get2ndelement(0isfirst)a1=5z=d102#Nestedlists列表运算符列表运算符p切片操作切片操作a=2,3,4,5,6a:2#2,3a2:#4,5,6a2:4#4,5a:#2,3,4,5,6p删除元素删除元素deldeldela1p列表长度lenlen(a)p列表相加a+bp复制a*2p包含判断if3ina:pass列表方法列表方法1list.append(obj)在列表末尾添加新的对象2list.count(obj)统计某个元素在列表中出现的次数3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)4list.index(obj)从列表中找出某个值第一个匹配项的索引位置5list.insert(index,obj)将对象插入列表6list.pop(obj=list-1)移除列表中的一个元素(默认最后一个元素),并且返回该元素的值7list.remove(obj)移除列表中某个值的第一个匹配项8list.reverse()反向列表中元素9list.sort(func)对原列表进行排序元组元组tupletupleq元组的元素不能修改元组的元素不能修改q元组使用小括号,列表使用方括号元组使用小括号,列表使用方括号Python的元组与列表类似,不同之处:tup1=(physics,chemistry,1997,2000)tup2=(1,2,3,4,5)tup3=a,b,c,d;字典字典d dictictq赋值赋值a=#Anemptydictionaryb=x:3,y:4#有点类似有点类似json格式格式c=uid:105,login:beazley,name:DavidBeazleyq访问元素访问元素u=cuid#Getanelementcshell=/bin/sh#Setanelement字典运算符字典运算符q删除元素删除元素deldeldela1q长度长度lenlenlen(a)q包含判断包含判断if3ina:pass字典方法字典方法1dict.clear()删除字典内所有元素2dict.copy()返回一个字典的浅复制3dict.fromkeys(seq,val)创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值4dict.get(key,default=None)返回指定键的值,如果值不在字典中返回default值6dict.items()以列表返回可遍历的(键,值)元组数组7dict.keys()以列表返回一个字典所有的键10dict.values()以列表返回字典中的所有值11pop(key,default)删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default值。12popitem()随机返回并删除字典中的一对键和值。函数函数qd defef语句语句deffunc1(a,b):funcspecq=a/br=a-q*breturnr#调用方式调用方式a=func1(42,5)#a=2q返回多个值返回多个值deffunc2(a,b):q=a/br=a-q*breturnq,rx,y=func2(42,5)#x=8,y=2类类classclassqC Classlass定义定义classAccount(object):#只在只在_init_中定义成员变量中定义成员变量def_init_(self,initial):self.balance=initial#析构析构def_del_(self):passdefdeposit(self,amount):self.balance+=amountdefwithdraw(self,amount):self.balance-=amountdefgetBalance(self):returnself.balance使用class创建对象a=Account(1000.0)a.deposit(550.23)a.deposit(100)a.withdraw(50)printa.getBalance()模块模块q程序可分成多个模块:程序可分成多个模块:一个一个pypy文件就是一个模块;文件就是一个模块;#numbers.pydefdivide(a,b):q=a/br=a-q*breturnq,rdefgcd(x,y):g=ywhilex0:g=xx=y%xy=greturng用import引入其它模块importnumbersx,y=numbers.divide(42,5)n=numbers.gcd(7291823,5683)Import模块中的类型fromnumbersimportdividex,y=divide(42,5)全局变量和局部变量全局变量和局部变量q函数内定义的变量是局部变量函数内定义的变量是局部变量q函数外定义的变量是全局变量函数外定义的变量是全局变量q在函数内给一个全局变量赋值时,需要先用在函数内给一个全局变量赋值时,需要先用global关键关键字声明这个变量,否则编译器会尝试新建一个同名的局字声明这个变量,否则编译器会尝试新建一个同名的局部变量部变量指针?引用?指针?引用?qPythonPython里面没有指针里面没有指针q指向对象的都是引用(数值、字符串除外)指向对象的都是引用(数值、字符串除外)q拷贝对象代码拷贝对象代码importcopyls1=1,”test”,(3.4,7),“key”:1,“comment”:”yourcomment”ls2=copy.deepcopy(ls1)PythonPython哲学哲学优美胜过丑陋优美胜过丑陋 明确明确胜过含蓄胜过含蓄 简单简单胜过复杂胜过复杂 复杂复杂胜过难懂胜过难懂 扁平扁平胜过嵌套胜过嵌套 稀疏稀疏胜过密集胜过密集- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 入门教程
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文