版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021/3/912021/3/92起源“1989年12月,我在寻找一门“课余”编程项目来打发圣诞节前后的时间。我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是 ABC 语言的后代,对 UNIX / C 程序员会有吸引力。作为一个略微有些无关想法的人,和一个蒙提派森(Monty Python)的飞行马戏团的狂热爱好者,我选择了 Python 作为项目的标题。”作者作者 :Guido Van Rossum (GvR)2021/3/93Computer Programming for Everybody1999年,Guido向DA
2、RPA 阐述Python语言的特性:简单、直观、强大开源,以便任何人都可以为它做贡献代码像纯英语那样容易理解适用于短期开发的日常任务这些想法中的一些已经成为现实。Python 已经成为一门流行的编程语言,尤其是在互联网环境下。2021/3/94特性特性交互式命令行(Interactive console)不只是脚本强大易用的标准库胶水语言(glue language)收放自如(scalability)不要括号2021/3/95交互式命令行(Interactive console)Python可以单步直译运行。运行Python解释器或IDLE进入交互式命令行的环境,你可以在提示符号旁输入代码,按
3、Enter键 printprint(Hello, Python!) Hello, Python!2021/3/96不只是脚本原因是“脚本语言”泛指仅作简单编程任务的语言,如Lua、JavaScript等,它们只能处理简单的任务而Python是面向对象编程(OOP)的,支持异常处理和类型检查Python的支持者较喜欢称它为一种高阶动态编程语言2021/3/97强大易用的标准库核心库不超过10MbHtml、Xml解析:BeautifulSoup, Expat字符串处理:字典、数组切片、正则表达式 re单元测试: PyUnit代码版本控制: PySVN网络访问: urllib2图形模块: Tkint
4、er、PyTCL、WxPython串行化、多线程等扩展标准库十分容易扩展标准库十分容易2021/3/98胶水语言(glue language)Python经常用作将不同语言编写的程序“粘”在一起的胶水语言。Google内部的很多项目使用C+编写性能要求极高的部分,然后用Python调用相应的模块。C/C+: C/C+: Boost.Python使得 Python 和 C+ 的类库能互相调用(.pyc)Java: Java: Jython 是用Java实现的Python,可同时使用二者的类库.NET:.NET:IronPython是Python在.NET平台上的版本。2021/3/99收放自如(
5、scalability)Python内建的数据结构(variable, list 和 dict)以及对多线程分布式操作的支持,使得程序可以用相同的代码处理不同规模的数据, 以及并发的用户需求。2021/3/910不要括号Python使用缩进而不是括号来进行代码段标识,减少了视觉上的混乱,并且使程序变短,从而提高了程序的可读性。2021/3/911用途脚本程序大型程序的原型开发科学计算网络应用计算机图形编程2021/3/912应用举例应用举例Google - 谷歌在很多项目中用python作为网络应用的后端,如Google Groups、Gmail、Google Maps等,Google App
6、 Engine支持python作为开发语言NASA - 美国宇航局,从1994年起把python作为主要开发语言豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站Torchlight -Python编写的大型3D游戏,原Blizzard公司人员制作发行,开源。Blender - 以C与Python开发的开源3D绘图软件在科学研究中也得到广泛的应用。2021/3/913这么强大!赶紧开始吧!2021/3/914开发环境PyCharm(支持PEP8 语法规范、跨平台、远程调试、上传)IpythonVIM (主要在linux下使用)其它编辑器UE,notepad+,editplus工欲善其,事必
7、先利其器2021/3/915字符编码Python默认代码文件为ASCII编码不指定编码时,文件中包含非ASCII字符会报错第一行加 #coding=utf-8,告诉编译器使用utf-8编码#coding=utf-8print u你好!2021/3/916程序运行方式使用IDLE或python命令行工具进行交互式编程调用解释器执行py脚本文件写个bat双击2021/3/917行和缩进Python使用缩进来表示代码块,而不是使用大括号 来表示代码块,缩进在python里有重要的语法意义。建议使用四个空格来缩进代码,不建议使用制表符。2021/3/918注释 单行注释使用 # 号:# 第一个注释pr
8、int Hello, Python!; # 第二个注释多行注释三个双引号或三个单引号: 这是多行注释,使用双引号。 这是多行注释,使用双引号。 这是多行注释,使用双引号。 2021/3/919Hello world 表达式3 + (7 * 4)+i #but no i+3 * 5Hello + Worldnot a and not ca b or c d变量赋值a = 4 3a = “Hello World”x,y = 4+2,”python”pass 语句 不做任何事时使用if a = a and b = c:print bool is Trueif not (b c): print not
9、 expr, value is True2021/3/921循环While语句while a int字符串查找S.rfind(sub ,start ,end) - int字符串反向查找S.replace(old, new, count)- string字符串替换S.strip(chars) - string剔除两端空白使用help函数查询类型帮助2021/3/927列表list赋值a = 2, 3, 4 # A list of integerb = 2, 7, 3.5, “Hello” c = d = 2, a, b # 嵌套列表e = x*x for x in range(10)访问元素x
10、= a1 # Get 2nd element (0 is first)a1 = 5z = d102 # Nested lists2021/3/928列表运算符p切片操作a = 2, 3, 4, 5, 6a:2 #2, 3a2: #4, 5, 6a2:4 #4, 5a: # 2, 3, 4, 5, 6p删除元素deldel a1p列表长度lenlen(a)p列表相加a + bp复制a * 2p包含判断if 3 in a : pass2021/3/929列表方法1 list.append(obj)在列表末尾添加新的对象2 list.count(obj)统计某个元素在列表中出现的次数3 list.e
11、xtend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)4 list.index(obj)从列表中找出某个值第一个匹配项的索引位置5 list.insert(index, obj)将对象插入列表6 list.pop(obj=list-1)移除列表中的一个元素(默认最后一个元素),并且返回该元素的值7 list.remove(obj)移除列表中某个值的第一个匹配项8 list.reverse()反向列表中元素9 list.sort(func)对原列表进行排序2021/3/930元组tuple元组的元素不能修改元组使用小括号,列表使用方括号Python的元组与列表类似
12、,不同之处:tup1 = (physics, chemistry, 1997, 2000)tup2 = (1, 2, 3, 4, 5 )tup3 = a, b, c, d;2021/3/931字典dict赋值a = # An empty dictionaryb = x: 3, y: 4 #有点类似json格式c = uid: 105, login: beazley, name : David Beazley 访问元素u = cuid # Get an elementcshell = /bin/sh # Set an element2021/3/932字典运算符删除元素deldel a1长度le
13、nlen(a)包含判断if 3 in a : pass2021/3/933字典方法1dict.clear()删除字典内所有元素2dict.copy()返回一个字典的浅复制3dict.fromkeys(seq, val)创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值4dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值6dict.items()以列表返回可遍历的(键, 值) 元组数组7dict.keys()以列表返回一个字典所有的键10dict.values()以列表返回字典中的所有值11pop(key,d
14、efault)删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。2021/3/934函数def语句def func1(a,b):func specq = a/br = a - q*breturn r# 调用方式a = func1(42,5) # a = 2返回多个值def func2(a,b):q = a/br = a - q*breturn q,rx,y = func2(42,5) # x = 8, y = 22021/3/935类classClass定义class Account(object):#只在只在_init_中定义成员变量中定
15、义成员变量def _init_(self, initial):self.balance = initial #析构析构def _del_(self):pass def deposit(self, amount): self.balance += amount def withdraw(self, amount): self.balance -= amount def getBalance(self): return self.balance使用class创建对象a = Account(1000.0)a.deposit(550.23)a.deposit(100)a.withdraw(50)pri
16、nt a.getBalance()2021/3/936模块程序可分成多个模块:一个py文件就是一个模块;# numbers.pydef divide(a,b):q = a/br = a - q*breturn q,rdef gcd(x,y):g = ywhile x 0:g = xx = y % xy = greturn g用import引入其它模块import numbersx,y = numbers.divide(42,5)n = numbers.gcd(7291823, 5683)Import模块中的类型from numbers import divide x,y = divide(42,5)2021/3/937全局变量和局部变量函数内定义的变量是局部变量函数外定义的变量是全局变量在函数内给一个全局变量赋值时,需要先用global关键字声明这个变量,否则编译
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁石化职业技术学院《审计流程实验》2023-2024学年第一学期期末试卷
- 昆明幼儿师范高等专科学校《社会科学名著》2023-2024学年第一学期期末试卷
- 江西传媒职业学院《机械制造技术基础实验》2023-2024学年第一学期期末试卷
- 吉林师范大学博达学院《课外读写实践》2023-2024学年第一学期期末试卷
- 湖南商务职业技术学院《电子线路CAD设计》2023-2024学年第一学期期末试卷
- 湖南财政经济学院《中国民族民间舞(一)》2023-2024学年第一学期期末试卷
- 黑龙江三江美术职业学院《中文工具书》2023-2024学年第一学期期末试卷
- 重庆工业职业技术学院《经济地理学》2023-2024学年第一学期期末试卷
- 浙江科技学院《材料综合实验》2023-2024学年第一学期期末试卷
- 年产2万吨盐酸二甲双胍原料药项目可行性研究报告模板-立项备案
- 2023年中考语文备考之名著阅读《经典常谈》思维导图合集
- 2023年湘教版数学七年级下册《整式的乘法》单元质量检测(含答案)
- 气柜安装工程施工方案
- GB/T 28750-2012节能量测量和验证技术通则
- GB/T 18791-2002电子和电气陶瓷性能试验方法
- 分子生物学本基因组及基因组学概论
- 《人工智能》全册配套课件
- 统编部编版四年级道德与法治下册优秀课件【全册】
- 高职大专《体育与健康》课程标准
- 12月1日世界艾滋病日预防艾滋病讲座PPT珍爱生命预防艾滋病PPT课件(带内容)
- 测量仪器自检记录表(全站仪)
评论
0/150
提交评论