Python入门PPT课件_第1页
Python入门PPT课件_第2页
Python入门PPT课件_第3页
Python入门PPT课件_第4页
Python入门PPT课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,Python入门(优雅的语言,简洁而强大,2007年度语言)参考资料:Python简明教程,.,2,Python的历史,Python是自由软件的丰硕成果之一创始人GuidovanRossum时间地点1989年圣诞节期间在阿姆斯特丹创造名字来源大蟒蛇飞行马戏团的爱好者渊源从ABC发展而来主要受Modula-3的影响结合了Unixshell和C的习惯,.,3,Python的语言特点,Python是一种面向对象的解释性语言Python是免费的Python是可移埴的Python是可扩展的Python是简单的Python是万能的,.,4,Python的语法特点,Python是一种语法表达极其优美的脚本语言运行方式命令行、交互式、图形集成环境面向对象甚至还支持异常处理模块和包与Java类似,还开发了JPython语言扩展可以用C/C+/Java编写新的语言模块,.,5,为什么是Python,Python有什么魅力值得我们去学习它使程序员的生活更有趣简单易学功能丰富谁在使用Python呢?GoogleNASA.HowtoBecomeaHacker一文中推薦使用,.,6,Python赢得2007年度编程语言,在编程语言流行度的评估方面,TIOBE一直是最为权威的机构之一。它每个月都根据有经验的使用者、相关课程、第三方厂商,以及来自多个大型搜索引擎的统计数据,发布前100名编程语言的份额,并进行跨年度同期比较。,.,7,Python赢得2007年度编程语言,.,8,Python赢得2007年度编程语言,Python被选为2007年度语言。最终,Python一年来取得了最大的增长(2.04%)。没有清楚的原因为什么Python在2007年取得了巨大的进步。上个月Python在历史上第一次超越了Perl,这是Python成为工业标准系统级粘合剂语言的信号。它尤其受到系统管理员和构建管理人员的喜爱。随着Python3的推出,Python在2008年继续上升的机会很大。,.,9,学习AI为什么用Python,对照伪代码,使用Python很容易实现编码AIMA教材提供了课程相关内容比较完整的Python源代码语句简练,编程效率高AI处理的特点:符号Python丰富的数据类型,包括string,list等AI处理的特点:统计理论Python极强的数学处理能力,包括矩阵运算Python还可以做很多的事情,学会它可以增强自身的竞争力,提高自己的工作效率,.,10,.,11,使用Python(Windows下),/下载python-2.5.msi下载python-2.5.msi安装,.,12,两种主要运行Python程序的方法,命令行交互模式,.,13,两种主要运行Python程序的方法,将程序写成文件形式,再由Python执行,.,14,IDLE开发环境(PythonGUI),.,15,IDLE开发环境(PythonGUI),编写Python程序可以使用任何一种文本编辑器,当然使用IDLE的编辑器,有语法高亮等提示,.,16,Python语法,可直接在提示符后输入表达式,Python将会计算表示式,得到结果,1+122*362*38,指数,.,17,字符串,Python内建了字符串数据类型,并重载了运算符“+”,artificial+intelligenceartificialintelligence,可以使用,也可以使用“”,例如:,.,18,字符串,Python内建有许多方法进行字符串操作,例如:,.,19,变量无需事先定义,可以把表达式存入变量中,s=helloworldprintshelloworlds.upper()HELLOWORLDlen(s.upper()11num=8.0num+=2.5printnum10.5,例如:,.,20,练习1,学习Python的字符串方法,可通过使用命令dir和help获取更多的帮助信息,例如:,点运算符,.,21,列表LIST,Python内建许多有用的数据结构,列表(LIST)是其中之一;列表保存的是一组(可变)项,fruits=apple,orange,pear,bananafruits0apple,可以使用串连列表,例如:,otherFruits=kiwi,strawberryfruits+otherFruitsapple,orange,pear,banana,kiwi,strawberry,.,22,列表LIST,Python允许使用负索引访问列表,例如fruits-1将访问列表fruits的最后一个元素banana,fruits-2pear,.,23,列表LIST,Python内建许多列表方法,例如pop,append等,fruits.pop()bananafruitsapple,orange,pearfruits.append(grapefruit)fruitsapple,orange,pear,grapefruitfruits-1=pineapplefruitsapple,orange,pear,pineapple,.,24,列表LIST,可以使用切片操作符:,获取列表的一个切片,即一部分列表,fruits0:2apple,orangefruits:3apple,orange,pearfruits2:pear,pineapplelen(fruits)4,.,25,列表LIST,列表中可以是任何的Python数据类型,所以可以有列表的列表,lstOfLsts=a,b,c,1,2,3,one,two,threelstOfLsts123lstOfLsts0.pop()clstOfLstsa,b,1,2,3,one,two,three,.,26,练习2,使用命令dir和help学习列表的其他方法,dir(list)help(list.reverse)Helponbuilt-infunctionreverse:reverse(.)L.reverse()-reverse*INPLACE*lst=a,b,clst.reverse()c,b,a,还有更多,.,27,元组tuple,元组tuple是和列表list类似的Python内建数据结构,只不过元组一旦创建,就不可改变;另外元组用圆括号(),而列表用方括号,pair=(3,5)pair03x,y=pairx3y5pair1=6TypeError:objectdoesnotsupportitemassignment,.,28,字典dictionary,另一个数据结构是字典,类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以把不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。键值对在字典中以这样的方式标记:d=key1:value1,key2:value2。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。,.,29,字典dictionary,studentIds=aria:42.0,arlo:56.0,john:92.0studentIdsarlo56.0studentIdsjohn=ninety-twostudentIdsaria:42.0,arlo:56.0,john:ninety-twodelstudentIdsariastudentIdsarlo:56.0,john:ninety-twostudentIdsaria=42.0,forty-two,.,30,studentIdsaria:42.0,forty-two,arlo:56.0,john:ninety-twostudentIds.keys()aria,arlo,johnstudentIds.values()42.0,forty-two,56.0,ninety-twostudentIds.items()(aria,42.0,forty-two),(arlo,56.0),(john,ninety-two)len(studentIds)3,字典dictionary,.,31,练习3,使用命令dir和help学习字典的其他方法,.,32,获取输入,input(prompt)(预设为数字类型)raw_input(prompt)(转为字符串类型)例如:x=raw_input(请输入您的名字:)printx+您好!如果是x=input(请输入您的名字:)printx+“您好!”则会怎样?,.,33,range(x),用这个函数可以产生出一个列表(list),成员分别为0,1,2,3,.,x-1。输入下列指令可以很简单的看出来他的功用:ran=range(10)printran0,1,2,3,4,5,6,7,8,9这个在之后的for循环会常使用到.,方便好用的range,.,34,Python编程(脚本编写),前面使用Python的方式是一种互动的方式,下面介绍的是Python脚本的编写,首先以IF语句为例,a=raw_input(“想不想去看加勒比海盗3呀?)ifa=想:print那走吧!elifa=不想:print那你想看什么呢?else:print嗯,你到底想怎么样,.,35,脚本编写,将上页代码保存为文件if.py,则可以在命令行模式下通过pythonif.py运行程序,.,36,for循环,#Thisiswhatacommentlookslikefruits=apples,oranges,pears,bananasforfruitinfruits:printfruit+forsalefruitPrices=apples:2.00,oranges:1.50,pears:1.75forfruit,priceinfruitPrices.items():ifprice2.00:print%scost%fapound%(fruit,price)else:printfruit+aretooexpensive!,注释,.,37,for循环,将上页代码保存为文件foreach.py,可以通过IDLE的run运行该程序,.,38,特别注意:缩进,空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。,if0=1:printWeareinaworldofarithmeticpainprintThankyouforplaying将输出Thankyouforplayingif0=1:printWeareinaworldofarithmeticpainprintThankyouforplaying则不会有输出,.,39,特别注意:缩进,可以使用空格或制表符产生缩进,两个空格或四个空格都是可以的,不过一般建议使用一个制表符TAB产生缩进,你的所有程序应该固定使用一种缩进规则,.,40,for应用于列表,再看一个例子,简单的语句即可对列表进行操作,nums=1,2,3,4,5,6plusOneNums=x+1forxinnumsoddNums=xforxinnumsifx%2=1printoddNumsoddNumsPlusOne=x+1forxinnumsifx%2=1printoddNumsPlusOne,.,41,练习4,写一个程序,生成并输出一个字符串列表中长度大于5的字符串的小写形式,.,42,函数,#文件名:function1.pydefsayHello():#属于函数的语句块开始printHelloWorld!(怎么总是这一句,好像蛮白痴的:)#你还可以在函数语句块中做你想的任何事情!sayHello()#调用该函数sayHello()#再次调用,随你喜欢多少次都行,.,43,函数例子2,fruitPrices=apples:2.00,oranges:1.50,pears:1.75defbuyFruit(fruit,numPounds):iffruitnotinfruitPrices:printSorrywedonthave%s%(fruit)else:cost=fruitPricesfruit*numPoundsprintThatllbe%fplease%(cost)buyFruit(apples,2.4)buyFruit(coconuts,2),.,44,函数例子2,将上页代码保存为文件fruit.py,运行,分析,.,45,练习5,增加多一些水果到字典fruitPrices中,添加函数buyLotsOfFruit,该函数变量为元组(fruit,pound)的列表,并返回该列表所表示的水果总的价钱,.,46,类和对象,封装了数据,并提供与这些数据交互的函数classFruitShop:def_init_(self,name,fruitPrices):name:NameofthefruitshopfruitPrices:Dictionarywithkeysasfruitstringsandpricesforvaluese.g.apples:2.00,oranges:1.50,pears:1.75self.fruitPrices=fruitP=nameprintWelcometothe%sfruitshop%(name),.,47,defgetCostPerPound(self,fruit):fruit:FruitstringReturnscostoffruit,assumingfruitisinourinventoryorNoneotherwiseiffruitnotinself.fruitPrices:printSorrywedonthave%s%(fruit)returnNonereturnself.fruitPricesfruit,.,48,defgetPriceOfOrder(self,orderList):orderList:Listof(fruit,numPounds)tupl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论