版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
python入门教程课件1起源“1989年12月,我在寻找一门“课余”编程项目来打发圣诞节前后的时间。我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX/C程序员会有吸引力。作为一个略微有些无关想法的人,和一个蒙提·派森(MontyPython)的飞行马戏团的狂热爱好者,我选择了Python作为项目的标题。”作者:GuidoVanRossum(GvR)起源“1989年12月,我在寻找一门“课余”编程项目来打发圣2ComputerProgrammingforEverybody1999年,Guido向DARPA
阐述Python语言的特性:
简单、直观、强大
开源,以便任何人都可以为它做贡献
代码像纯英语那样容易理解
适用于短期开发的日常任务这些想法中的一些已经成为现实。Python已经成为一门流行的编程语言,尤其是在互联网环境下。ComputerProgrammingforEvery3特性交互式命令行(Interactiveconsole)不只是脚本强大易用的标准库胶水语言(gluelanguage)收放自如(scalability)不要括号特性交互式命令行(Interactiveconsole)4交互式命令行(Interactiveconsole)Python可以单步直译运行。运行Python解释器或IDLE进入交互式命令行的环境,你可以在提示符号>>>旁输入代码,按Enter键>>>print("Hello,Python!")Hello,Python!交互式命令行(Interactiveconsole)Pyt5不只是脚本原因是“脚本语言”泛指仅作简单编程任务的语言,如Lua、JavaScript等,它们只能处理简单的任务而Python是面向对象编程(OOP)的,支持异常处理和类型检查Python的支持者较喜欢称它为一种高阶动态编程语言不只是脚本原因是“脚本语言”泛指仅作简单编程任务的语言,6强大易用的标准库核心库不超过10MbHtml、Xml解析:BeautifulSoup,Expat字符串处理:字典、数组切片、正则表达式re单元测试:PyUnit代码版本控制:PySVN网络访问:urllib2图形模块:Tkinter、PyTCL、WxPython串行化、多线程等扩展标准库十分容易强大易用的标准库核心库不超过10Mb7胶水语言(gluelanguage)Python经常用作将不同语言编写的程序“粘”在一起的胶水语言。Google内部的很多项目使用C++编写性能要求极高的部分,然后用Python调用相应的模块。C/C++: Boost.Python使得Python和C++的类库能互相调用(.pyc)Java: Jython是用Java实现的Python,可同时使用二者的类库.NET: IronPython是Python在.NET平台上的版本。胶水语言(gluelanguage)Python经常用作将8收放自如(scalability)Python内建的数据结构(variable,list和dict)以及对多线程分布式操作的支持,使得程序可以用相同的代码处理不同规模的数据,
以及并发的用户需求。收放自如(scalability)Python内建的数据结构9不要括号Python使用缩进而不是括号来进行代码段标识,减少了视觉上的混乱,并且使程序变短,从而提高了程序的可读性。不要括号Python使用缩进而不是括号来进行代码段标识,减少10用途脚本程序大型程序的原型开发科学计算网络应用计算机图形编程用途脚本程序11应用举例Google-谷歌在很多项目中用python作为网络应用的后端,如GoogleGroups、Gmail、GoogleMaps等,GoogleAppEngine支持python作为开发语言NASA-美国宇航局,从1994年起把python作为主要开发语言豆瓣网-图书、唱片、电影等文化产品的资料数据库网站Torchlight--Python编写的大型3D游戏,原Blizzard公司人员制作发行,开源。Blender
-以C与Python开发的开源3D绘图软件在科学研究中也得到广泛的应用。应用举例Google-谷歌在很多项目中用python作为12这么强大!!!赶紧开始吧!这么强大!!!赶紧开始吧!13开发环境PyCharm(支持PEP8语法规范、跨平台、远程调试、上传…)IpythonVIM(主要在linux下使用)其它编辑器 UE,notepad++,editplus…工欲善其,事必先利其器开发环境PyCharm(支持PEP8语法规范、跨平台、远程14字符编码Python默认代码文件为ASCII编码
不指定编码时,文件中包含非ASCII字符会报错第一行加#coding=utf-8,告诉编译器使用utf-8编码 #coding=utf-8 printu"你好!"字符编码Python默认代码文件为ASCII编码15程序运行方式使用IDLE或python命令行工具进行交互式编程调用解释器执行py脚本文件
写个bat
双击程序运行方式使用IDLE或python命令行工具进行交互式编16行和缩进Python使用缩进来表示代码块,
而不是使用大括号
{}来表示代码块,缩进在python里有重要的语法意义。建议使用四个空格来缩进代码,
不建议使用制表符。行和缩进Python使用缩进来表示代码块,17注释单行注释使用#号:#
第一个注释print"Hello,Python!";#第二个注释多行注释三个双引号或三个单引号:"""这是多行注释,使用双引号。这是多行注释,使用双引号。这是多行注释,使用双引号。"""注释单行注释使用#号:18Helloworld表达式3+(7*4)++i#butnoi++3**5‘Hello’+‘World’notaandnotca>borc>d变量赋值a=4<<3a=“HelloWorld”x,y=4+2,”python”pass语句
–不做任何事时使用ifa<b: passelse: c=aHelloworld表达式变量赋值pass语句–不19条件if…elif…else语句:
没有switchifa==‘+’: b=‘+’elifa==‘-’: b=‘-’else: b=None布尔表达式–and,or,notifb>=aandb<=c: print‘boolisTrue’ifnot(b<aorc>c):
print‘notexpr,valueisTrue’条件if…elif…else语句:
没有switch20循环While语句whilea<b: a=a+1For语句(遍历序列的元素)foritemin[3,4,10,25]: printitem#Printcharactersoneatatimeforcin"HelloWorld": printc#Loopoverarangeofnumbersforiinrange(0,100,2): printiforiinrange(len(list1)): printlist1[i]循环While语句For语句(遍历序列的元素)forite21数字Python支持四种不同的数值类型:整型(int)
-例:1024长整型(long)
-例:1024L浮点型(float)
-例:1024.56,32.3+e18复数(complex)
-例:2.5+3.14j数字Python支持四种不同的数值类型:22数学函数abs(x) 绝对值max(x1,x2,...) 求最大值min(x1,x2,...) 求最小值round(x[,n]) 求四舍五入值sqrt(x) 求平方根sin(x) 求正弦cos(x) 求余弦数学函数abs(x) 绝对值23字符串string用单引号或双引号或三个引号创建字符串s1=“hello”s2=‘hello’三引号创建的字符串可以跨越多行。引号前小写的"u"表示这里创建的是一个Unicode字符串。s=u'HelloWorld!'字符串string用单引号或双引号或三个引号创建字符串24切片序列[开始位置:结束位置]序列[开始位置:结束位置:步长]右开区间s="abcdef“s[2:4]#cds[2:]#cdefs[:2]#abs[:]#abcdefs[::2]#ace切片序列[开始位置:结束位置]25字符串函数s2ins字符串包含判断S.find(sub[,start[,end]])->int字符串查找S.rfind(sub[,start[,end]])->int字符串反向查找S.replace(old,new[,count])->string字符串替换S.strip([chars])->string剔除两端空白…使用help函数查询类型帮助字符串函数s2ins…使用help函数查询类型帮助26列表list赋值a=[2,3,4] #Alistofintegerb=[2,7,3.5,“Hello”]
c=[]
d=[2,[a,b]] #嵌套列表e=[x*xforxinrange(10)]访问元素x=a[1] #Get2ndelement(0isfirst)a[1]=5z=d[1][0][2] #Nestedlists列表list赋值27列表运算符切片操作a=[2,3,4,5,6]a[:2]#[2,3]a[2:]#[4,5,6]a[2:4]#[4,5]a[:]#[2,3,4,5,6]删除元素del dela[1]列表长度len
len(a)列表相加 a+b复制a*2包含判断if3ina:pass列表运算符切片操作列表长度len28列表方法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])
对原列表进行排序列表方法1list.append(obj)
在列表末尾添加新29元组tuple元组的元素不能修改元组使用小括号,列表使用方括号Python的元组与列表类似,不同之处:tup1=('physics','chemistry',1997,2000)tup2=(1,2,3,4,5)tup3="a","b","c","d";元组tuple元组的元素不能修改Python的元组与列表类似30字典dict赋值a={} #Anemptydictionaryb={’x’:3,’y’:4}
#有点类似json格式c={’uid’:105, ’login’:’beazley’, ’name’:’DavidBeazley’ }访问元素u=c[’uid’] #Getanelementc[’shell’]="/bin/sh" #Setanelement字典dict赋值31字典运算符删除元素del dela[1]长度lenlen(a)包含判断if3ina:pass字典运算符删除元素del32字典方法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()
随机返回并删除字典中的一对键和值。字典方法1dict.clear()
删除字典内所有元素2di33函数def语句deffunc1(a,b): ‘’’funcspec’’’ q=a/b r=a-q*b returnr#调用方式a=func1(42,5) #a=2返回多个值deffunc2(a,b): q=a/b r=a-q*b returnq,rx,y=func2(42,5) #x=8,y=2函数def语句34类classClass定义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()类classClass定义使用class创建对象35模块程序可分成多个模块:
一个py文件就是一个模块;#numbers.pydefdivide(a,b): q=a/b r=a-q*b returnq,rdefgcd(x,y): g=y whilex>0: g=x x=y%x y=g returng用import引入其它模块importnumbersx,y=numbers.divide(42,5)n=numbers.gcd(7291823,5683)Import模块中的类型fromnumbersimportdividex,y=divide(42,5)模块程序可分成多个模块:
一个py文件就是一个模块;用imp36全局变量和局部变量函数内定义的变量是局部变量函数外定义的变量是全局变量在函数内给一个全局变量赋值时,需要先用global
关键字声明这个变量,否则编译器会尝试新建一个同名的局部变量全局变量和局部变量函数内定义的变量是局部变量37指针?引用?Python里面没有指针指向对象的都是引用(数值、字符串除外)拷贝对象代码import
copy
ls1=[1,”test”,(3.4,7),{“key”:1,“comment”:”yourcomment”}]ls2=copy.deepcopy(ls1)指针?引用?Python里面没有指针38Python哲学优美胜过丑陋明确胜过含蓄简单胜过复杂复杂胜过难懂扁平胜过嵌套稀疏胜过密集Python哲学优美胜过丑陋39python入门教程课件40起源“1989年12月,我在寻找一门“课余”编程项目来打发圣诞节前后的时间。我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX/C程序员会有吸引力。作为一个略微有些无关想法的人,和一个蒙提·派森(MontyPython)的飞行马戏团的狂热爱好者,我选择了Python作为项目的标题。”作者:GuidoVanRossum(GvR)起源“1989年12月,我在寻找一门“课余”编程项目来打发圣41ComputerProgrammingforEverybody1999年,Guido向DARPA
阐述Python语言的特性:
简单、直观、强大
开源,以便任何人都可以为它做贡献
代码像纯英语那样容易理解
适用于短期开发的日常任务这些想法中的一些已经成为现实。Python已经成为一门流行的编程语言,尤其是在互联网环境下。ComputerProgrammingforEvery42特性交互式命令行(Interactiveconsole)不只是脚本强大易用的标准库胶水语言(gluelanguage)收放自如(scalability)不要括号特性交互式命令行(Interactiveconsole)43交互式命令行(Interactiveconsole)Python可以单步直译运行。运行Python解释器或IDLE进入交互式命令行的环境,你可以在提示符号>>>旁输入代码,按Enter键>>>print("Hello,Python!")Hello,Python!交互式命令行(Interactiveconsole)Pyt44不只是脚本原因是“脚本语言”泛指仅作简单编程任务的语言,如Lua、JavaScript等,它们只能处理简单的任务而Python是面向对象编程(OOP)的,支持异常处理和类型检查Python的支持者较喜欢称它为一种高阶动态编程语言不只是脚本原因是“脚本语言”泛指仅作简单编程任务的语言,45强大易用的标准库核心库不超过10MbHtml、Xml解析:BeautifulSoup,Expat字符串处理:字典、数组切片、正则表达式re单元测试:PyUnit代码版本控制:PySVN网络访问:urllib2图形模块:Tkinter、PyTCL、WxPython串行化、多线程等扩展标准库十分容易强大易用的标准库核心库不超过10Mb46胶水语言(gluelanguage)Python经常用作将不同语言编写的程序“粘”在一起的胶水语言。Google内部的很多项目使用C++编写性能要求极高的部分,然后用Python调用相应的模块。C/C++: Boost.Python使得Python和C++的类库能互相调用(.pyc)Java: Jython是用Java实现的Python,可同时使用二者的类库.NET: IronPython是Python在.NET平台上的版本。胶水语言(gluelanguage)Python经常用作将47收放自如(scalability)Python内建的数据结构(variable,list和dict)以及对多线程分布式操作的支持,使得程序可以用相同的代码处理不同规模的数据,
以及并发的用户需求。收放自如(scalability)Python内建的数据结构48不要括号Python使用缩进而不是括号来进行代码段标识,减少了视觉上的混乱,并且使程序变短,从而提高了程序的可读性。不要括号Python使用缩进而不是括号来进行代码段标识,减少49用途脚本程序大型程序的原型开发科学计算网络应用计算机图形编程用途脚本程序50应用举例Google-谷歌在很多项目中用python作为网络应用的后端,如GoogleGroups、Gmail、GoogleMaps等,GoogleAppEngine支持python作为开发语言NASA-美国宇航局,从1994年起把python作为主要开发语言豆瓣网-图书、唱片、电影等文化产品的资料数据库网站Torchlight--Python编写的大型3D游戏,原Blizzard公司人员制作发行,开源。Blender
-以C与Python开发的开源3D绘图软件在科学研究中也得到广泛的应用。应用举例Google-谷歌在很多项目中用python作为51这么强大!!!赶紧开始吧!这么强大!!!赶紧开始吧!52开发环境PyCharm(支持PEP8语法规范、跨平台、远程调试、上传…)IpythonVIM(主要在linux下使用)其它编辑器 UE,notepad++,editplus…工欲善其,事必先利其器开发环境PyCharm(支持PEP8语法规范、跨平台、远程53字符编码Python默认代码文件为ASCII编码
不指定编码时,文件中包含非ASCII字符会报错第一行加#coding=utf-8,告诉编译器使用utf-8编码 #coding=utf-8 printu"你好!"字符编码Python默认代码文件为ASCII编码54程序运行方式使用IDLE或python命令行工具进行交互式编程调用解释器执行py脚本文件
写个bat
双击程序运行方式使用IDLE或python命令行工具进行交互式编55行和缩进Python使用缩进来表示代码块,
而不是使用大括号
{}来表示代码块,缩进在python里有重要的语法意义。建议使用四个空格来缩进代码,
不建议使用制表符。行和缩进Python使用缩进来表示代码块,56注释单行注释使用#号:#
第一个注释print"Hello,Python!";#第二个注释多行注释三个双引号或三个单引号:"""这是多行注释,使用双引号。这是多行注释,使用双引号。这是多行注释,使用双引号。"""注释单行注释使用#号:57Helloworld表达式3+(7*4)++i#butnoi++3**5‘Hello’+‘World’notaandnotca>borc>d变量赋值a=4<<3a=“HelloWorld”x,y=4+2,”python”pass语句
–不做任何事时使用ifa<b: passelse: c=aHelloworld表达式变量赋值pass语句–不58条件if…elif…else语句:
没有switchifa==‘+’: b=‘+’elifa==‘-’: b=‘-’else: b=None布尔表达式–and,or,notifb>=aandb<=c: print‘boolisTrue’ifnot(b<aorc>c):
print‘notexpr,valueisTrue’条件if…elif…else语句:
没有switch59循环While语句whilea<b: a=a+1For语句(遍历序列的元素)foritemin[3,4,10,25]: printitem#Printcharactersoneatatimeforcin"HelloWorld": printc#Loopoverarangeofnumbersforiinrange(0,100,2): printiforiinrange(len(list1)): printlist1[i]循环While语句For语句(遍历序列的元素)forite60数字Python支持四种不同的数值类型:整型(int)
-例:1024长整型(long)
-例:1024L浮点型(float)
-例:1024.56,32.3+e18复数(complex)
-例:2.5+3.14j数字Python支持四种不同的数值类型:61数学函数abs(x) 绝对值max(x1,x2,...) 求最大值min(x1,x2,...) 求最小值round(x[,n]) 求四舍五入值sqrt(x) 求平方根sin(x) 求正弦cos(x) 求余弦数学函数abs(x) 绝对值62字符串string用单引号或双引号或三个引号创建字符串s1=“hello”s2=‘hello’三引号创建的字符串可以跨越多行。引号前小写的"u"表示这里创建的是一个Unicode字符串。s=u'HelloWorld!'字符串string用单引号或双引号或三个引号创建字符串63切片序列[开始位置:结束位置]序列[开始位置:结束位置:步长]右开区间s="abcdef“s[2:4]#cds[2:]#cdefs[:2]#abs[:]#abcdefs[::2]#ace切片序列[开始位置:结束位置]64字符串函数s2ins字符串包含判断S.find(sub[,start[,end]])->int字符串查找S.rfind(sub[,start[,end]])->int字符串反向查找S.replace(old,new[,count])->string字符串替换S.strip([chars])->string剔除两端空白…使用help函数查询类型帮助字符串函数s2ins…使用help函数查询类型帮助65列表list赋值a=[2,3,4] #Alistofintegerb=[2,7,3.5,“Hello”]
c=[]
d=[2,[a,b]] #嵌套列表e=[x*xforxinrange(10)]访问元素x=a[1] #Get2ndelement(0isfirst)a[1]=5z=d[1][0][2] #Nestedlists列表list赋值66列表运算符切片操作a=[2,3,4,5,6]a[:2]#[2,3]a[2:]#[4,5,6]a[2:4]#[4,5]a[:]#[2,3,4,5,6]删除元素del dela[1]列表长度len
len(a)列表相加 a+b复制a*2包含判断if3ina:pass列表运算符切片操作列表长度len67列表方法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])
对原列表进行排序列表方法1list.append(obj)
在列表末尾添加新68元组tuple元组的元素不能修改元组使用小括号,列表使用方括号Python的元组与列表类似,不同之处:tup1=('physics','chemistry',1997,2000)tup2=(1,2,3,4,5)tup3="a","b","c","d";元组tuple元组的元素不能修改Python的元组与列表类似69字典dict赋值a={} #Anemptydictionaryb={’x’:3,’y’:4}
#有点类似json格式c={’uid’:105, ’login’:’beazley’, ’name’:’DavidBeazley’ }访问元素u=c[’uid’] #Getanelementc[’shell’]="/bin/sh" #Setanelement字典dict赋值70字典运算符删除元素del dela[1]长度lenlen(a)包含判断if3ina:pass字典运算符删除元素del71字典方法1dict.clear()
删除字典内所有元素2dict.copy()
返回一个字典的浅复制3dict.fromkeys(seq[,val])
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值4dict.get(key,default=None)
返回指定键的值,如果值不在字典中返回default值6dict.items()
以列表返回可遍历的(键,值)元组数组7dict.keys()
以列表返回一个字典所有的键10dict.values()
以列表返回字典中的所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论