




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,-,起源,“1989年12月,我在寻找一门“课余”编程项目来打发圣诞节前后的时间。我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX/C程序员会有吸引力。作为一个略微有些无关想法的人,和一个蒙提派森(MontyPython)的飞行马戏团的狂热爱好者,我选择了Python作为项目的标题。”,作者:GuidoVanRossum(GvR),2,-,ComputerProgrammingforEverybody,1999年,Guido向DARPA阐述Python语言的特性:简单、直观、强大开源,以便任何人都可以为它做贡献代码像纯英语那样容易理解适用于短期开发的日常任务这些想法中的一些已经成为现实。Python已经成为一门流行的编程语言,尤其是在互联网环境下。,3,-,特性,交互式命令行(Interactiveconsole)不只是脚本强大易用的标准库胶水语言(gluelanguage)收放自如(scalability)不要括号,4,-,交互式命令行(Interactiveconsole),Python可以单步直译运行。运行Python解释器或IDLE进入交互式命令行的环境,你可以在提示符号旁输入代码,按Enter键print(Hello,Python!)Hello,Python!,5,-,不只是脚本,原因是“脚本语言”泛指仅作简单编程任务的语言,如Lua、JavaScript等,它们只能处理简单的任务而Python是面向对象编程(OOP)的,支持异常处理和类型检查Python的支持者较喜欢称它为一种高阶动态编程语言,6,-,强大易用的标准库,核心库不超过10MbHtml、Xml解析:BeautifulSoup,Expat字符串处理:字典、数组切片、正则表达式re单元测试:PyUnit代码版本控制:PySVN网络访问:urllib2图形模块:Tkinter、PyTCL、WxPython串行化、多线程等扩展标准库十分容易,7,-,胶水语言(gluelanguage),Python经常用作将不同语言编写的程序“粘”在一起的胶水语言。Google内部的很多项目使用C+编写性能要求极高的部分,然后用Python调用相应的模块。C/C+:Boost.Python使得Python和C+的类库能互相调用(.pyc)Java:Jython是用Java实现的Python,可同时使用二者的类库.NET:IronPython是Python在.NET平台上的版本。,8,-,收放自如(scalability),Python内建的数据结构(variable,list和dict)以及对多线程分布式操作的支持,使得程序可以用相同的代码处理不同规模的数据,以及并发的用户需求。,9,-,不要括号,Python使用缩进而不是括号来进行代码段标识,减少了视觉上的混乱,并且使程序变短,从而提高了程序的可读性。,10,-,用途,脚本程序大型程序的原型开发科学计算网络应用计算机图形编程,11,-,应用举例,Google-谷歌在很多项目中用python作为网络应用的后端,如GoogleGroups、Gmail、GoogleMaps等,GoogleAppEngine支持python作为开发语言NASA-美国宇航局,从1994年起把python作为主要开发语言豆瓣网-图书、唱片、电影等文化产品的资料数据库网站Torchlight-Python编写的大型3D游戏,原Blizzard公司人员制作发行,开源。Blender-以C与Python开发的开源3D绘图软件在科学研究中也得到广泛的应用。,12,-,这么强大!,赶紧开始吧!,13,-,开发环境,PyCharm(支持PEP8语法规范、跨平台、远程调试、上传)IpythonVIM(主要在linux下使用)其它编辑器UE,notepad+,editplus,工欲善其,事必先利其器,14,-,字符编码,Python默认代码文件为ASCII编码不指定编码时,文件中包含非ASCII字符会报错第一行加#coding=utf-8,告诉编译器使用utf-8编码#coding=utf-8printu你好!,15,-,程序运行方式,使用IDLE或python命令行工具进行交互式编程调用解释器执行py脚本文件写个bat双击,16,-,行和缩进,Python使用缩进来表示代码块,而不是使用大括号来表示代码块,缩进在python里有重要的语法意义。建议使用四个空格来缩进代码,不建议使用制表符。,17,-,注释,单行注释使用#号:#第一个注释printHello,Python!;#第二个注释多行注释三个双引号或三个单引号:这是多行注释,使用双引号。这是多行注释,使用双引号。这是多行注释,使用双引号。,18,-,Helloworld,表达式3+(7*4)+i#butnoi+3*5Hello+Worldnotaandnotcaborcd,变量赋值a=4int字符串反向查找S.replace(old,new,count)-string字符串替换S.strip(chars)-string剔除两端空白,使用help函数查询类型帮助,26,-,列表list,赋值a=2,3,4#Alistofintegerb=2,7,3.5,“Hello”c=d=2,a,b#嵌套列表e=x*xforxinrange(10)访问元素x=a1#Get2ndelement(0isfirst)a1=5z=d102#Nestedlists,27,-,列表运算符,切片操作a=2,3,4,5,6a:2#2,3a2:#4,5,6a2:4#4,5a:#2,3,4,5,6删除元素deldela1,列表长度lenlen(a)列表相加a+b复制a*2包含判断if3ina:pass,28,-,列表方法,29,-,元组tuple,元组的元素不能修改元组使用小括号,列表使用方括号,Python的元组与列表类似,不同之处:,tup1=(physics,chemistry,1997,2000)tup2=(1,2,3,4,5)tup3=a,b,c,d;,30,-,字典dict,赋值a=#Anemptydictionaryb=x:3,y:4#有点类似json格式c=uid:105,login:beazley,name:DavidBeazley访问元素u=cuid#Getanelementcshell=/bin/sh#Setanelement,31,-,字典运算符,删除元素deldela1长度lenlen(a)包含判断if3ina:pass,32,-,字典方法,33,-,函数,def语句deffunc1(a,b):funcspecq=a/br=a-q*breturnr#调用方式a=func1(42,5)#a=2返回多个值deffunc2(a,b):q=a/br=a-q*breturnq,rx,y=func2(42,5)#x=8,y=2,34,-,类class,Class定义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(),35,-,模块,程序可分成多个模块:一个py文件就是一个模块;#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),36,-,全局变量和局部变量,函数内定义的变量是局部变量函数外定义的变量是全局变量在函数内给一个全局变量赋值时,需要先用global关键字声明这个变量,否则编译器会尝试新建一个同名的局部变量,3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电商平台售后服务技术解决方案与应用报告
- 现场勘查基础知识培训课件
- 2025年开放银行生态构建中的金融科技与数字货币应用前景研究报告
- 新疆石河子二中2026届高三化学第一学期期中经典模拟试题含解析
- 广东省深圳市罗湖区罗湖外国语学校2026届化学高一上期中复习检测模拟试题含解析
- 甘肃省酒泉市瓜州县2026届高三上化学期中复习检测试题含解析
- 2025年秋季初级经济师考试 经济基础知识深度解析冲刺试卷
- 2025年土木工程师考试结构设计专项训练试卷 掌握结构设计要点
- 2025年注册会计师考试 会计科目冲刺模拟试卷及答案详解
- 2025年中学教师招聘考试(中学科目二)教育知识与能力重点难点试卷
- 湖南省名校联盟2024-2025学年高二上学期入学考试物理试题
- 成人鼻肠管的留置与维护(2021团体标准解读)-20221004172843
- 一年级道德法治教案设计
- 2024年上海市自来水公司招聘笔试冲刺题(带答案解析)
- 微量注射泵的使用操作评分标准
- 专利侵权比对分析报告
- 民航安全检查全套教学课件
- 社情民意信息写作与传播
- 腹腔镜下嵌顿疝的治疗
- 电气施工图审图要点
- 机场管制课件
评论
0/150
提交评论