- 487.00 KB
- 2022-04-29 14:31:42 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'python入门教程
起源“1989年12月,我在寻找一门“课余”编程项目来打发圣诞节前后的时间。我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX/C程序员会有吸引力。作为一个略微有些无关想法的人,和一个蒙提·派森(MontyPython)的飞行马戏团的狂热爱好者,我选择了Python作为项目的标题。”作者:GuidoVanRossum(GvR)
ComputerProgrammingforEverybody1999年,Guido向DARPA阐述Python语言的特性:简单、直观、强大开源,以便任何人都可以为它做贡献代码像纯英语那样容易理解适用于短期开发的日常任务这些想法中的一些已经成为现实。Python已经成为一门流行的编程语言,尤其是在互联网环境下。
强大易用的标准库核心库不超过10MbHtml、Xml解析:BeautifulSoup,Expat字符串处理:字典、数组切片、正则表达式re单元测试:PyUnit代码版本控制:PySVN网络访问:urllib2图形模块:Tkinter、PyTCL、WxPython串行化、多线程等扩展标准库十分容易
胶水语言(gluelanguage)Python经常用作将不同语言编写的程序“粘”在一起的胶水语言。Google内部的很多项目使用C++编写性能要求极高的部分,然后用Python调用相应的模块。C/C++:Boost.Python使得Python和C++的类库能互相调用(.pyc)Java:Jython是用Java实现的Python,可同时使用二者的类库.NET:IronPython是Python在.NET平台上的版本。
收放自如(scalability)Python内建的数据结构(variable,list和dict)以及对多线程分布式操作的支持,使得程序可以用相同的代码处理不同规模的数据,以及并发的用户需求。
不要括号Python使用缩进而不是括号来进行代码段标识,减少了视觉上的混乱,并且使程序变短,从而提高了程序的可读性。
用途脚本程序大型程序的原型开发科学计算网络应用计算机图形编程
应用举例Google-谷歌在很多项目中用python作为网络应用的后端,如GoogleGroups、Gmail、GoogleMaps等,GoogleAppEngine支持python作为开发语言NASA-美国宇航局,从1994年起把python作为主要开发语言豆瓣网-图书、唱片、电影等文化产品的资料数据库网站Torchlight--Python编写的大型3D游戏,原Blizzard公司人员制作发行,开源。Blender-以C与Python开发的开源3D绘图软件在科学研究中也得到广泛的应用。
这么强大!!!赶紧开始吧!
开发环境PyCharm(支持PEP8语法规范、跨平台、远程调试、上传…)IpythonVIM(主要在linux下使用)其它编辑器UE,notepad++,editplus…工欲善其,事必先利其器
字符编码Python默认代码文件为ASCII编码不指定编码时,文件中包含非ASCII字符会报错第一行加#coding=utf-8,告诉编译器使用utf-8编码#coding=utf-8printu"你好!"
程序运行方式使用IDLE或python命令行工具进行交互式编程调用解释器执行py脚本文件写个bat双击
行和缩进Python使用缩进来表示代码块,而不是使用大括号{}来表示代码块,缩进在python里有重要的语法意义。建议使用四个空格来缩进代码,不建议使用制表符。
注释单行注释使用#号:#第一个注释print"Hello,Python!";#第二个注释多行注释三个双引号或三个单引号:"""这是多行注释,使用双引号。这是多行注释,使用双引号。这是多行注释,使用双引号。"""
Helloworld表达式3+(7*4)++i#butnoi++3**5‘Hello’+‘World’notaandnotca>borc>d变量赋值a=4<<3a=“HelloWorld”x,y=4+2,”python”pass语句–不做任何事时使用ifa=aandb<=c:print‘boolisTrue’ifnot(bc):print‘notexpr,valueisTrue’
循环While语句whileaint字符串查找S.rfind(sub[,start[,end]])->int字符串反向查找S.replace(old,new[,count])->string字符串替换S.strip([chars])->string剔除两端空白…使用help函数查询类型帮助
列表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
列表运算符切片操作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]删除元素deldela[1]列表长度lenlen(a)列表相加a+b复制a*2包含判断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])对原列表进行排序
元组tuple元组的元素不能修改元组使用小括号,列表使用方括号Python的元组与列表类似,不同之处:tup1=("physics","chemistry",1997,2000)tup2=(1,2,3,4,5)tup3="a","b","c","d";
字典dict赋值a={}#Anemptydictionaryb={’x’:3,’y’:4}#有点类似json格式c={’uid’:105,’login’:’beazley’,’name’:’DavidBeazley’}访问元素u=c[’uid’]#Getanelementc[’shell’]="/bin/sh"#Setanelement
字典运算符删除元素deldela[1]长度lenlen(a)包含判断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()随机返回并删除字典中的一对键和值。
函数def语句deffunc1(a,b):‘’’funcspec’’’q=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
类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()
模块程序可分成多个模块:一个py文件就是一个模块;#numbers.pydefdivide(a,b):q=a/br=a-q*breturnq,rdefgcd(x,y):g=ywhilex>0:g=xx=y%xy=greturng用import引入其它模块importnumbersx,y=numbers.divide(42,5)n=numbers.gcd(7291823,5683)Import模块中的类型fromnumbersimportdividex,y=divide(42,5)
全局变量和局部变量函数内定义的变量是局部变量函数外定义的变量是全局变量在函数内给一个全局变量赋值时,需要先用global关键字声明这个变量,否则编译器会尝试新建一个同名的局部变量
指针?引用?Python里面没有指针指向对象的都是引用(数值、字符串除外)拷贝对象代码import copyls1=[1,”test”,(3.4,7),{“key”:1,“comment”:”yourcomment”}]ls2=copy.deepcopy(ls1)
Python哲学优美胜过丑陋明确胜过含蓄简单胜过复杂复杂胜过难懂扁平胜过嵌套稀疏胜过密集
复习1、已知路程和时间,怎样求速度?2、已知总价和数量,怎样求单价?3、已知工作总量和工作时间,怎样求工作效率?4、已知总产量和公顷数,怎样求公顷产量?
体积和高度的变化有什么规律?水的高度越高,体积越大
252525252525像这样,一种量变化,另一种量也随着变化,我们就说这两种量是两种相关联的量。表中有哪几种量?这些量之间又有什么关系?比值一定
体积高=底面积(一定)像这样,两种相关联的量,一种量变化,另一种量也随着变化,如果这两种量中相对应的两个数的比值一定,这两种量就叫做成正比例的量,它们的关系叫做正比例关系。k(一定)=yx
想一想生活中还有哪些成正比例的量?水的质量和体积?如果长方形的宽一定,长方形的面积和长成正比例。
例一的实验结果可以用下面的图像来表示。1、从图中你发现了什么?2、不计算根据图像判断,如果杯中水的高度是7cm,那么水的体积是多少?225立方厘米的水有多高?
'
您可能关注的文档
- 最新PPT经典模板——可爱卡通清新背景PPT模板课件PPT.ppt
- 最新PPT礼花课件PPT.ppt
- 最新PPT经典模板——蓝色简洁商务PPT模板课件PPT.ppt
- 最新PROFIBUS技术汇总课件PPT.ppt
- 最新prp治疗难愈性创面课件PPT.ppt
- 最新ps通道和蒙版课件PPT.ppt
- 最新ps画笔工具的使用课件PPT.ppt
- 最新PTCD及胆道内支架临床应用1课件PPT.ppt
- 最新Q-S曲线的类型判别方法分析课件PPT.ppt
- 最新Q12分析报告课件PPT.ppt
- 最新Python语言基础课件PPT.ppt
- 最新QCC品管圈培训课件PPT.ppt
- 最新QCC基础培训教材课件PPT.ppt
- 最新QCC知识培训系列一——基本知识课件PPT.ppt
- 最新QCC活动教程---12.18最新.pps课件PPT.ppt
- 最新QC小组基础教材新版石油课件PPT.ppt
- 最新QC七大手法(1)课件PPT.ppt