首页 Python进阶(二)——Python对象类型

Python进阶(二)——Python对象类型

举报
开通vip

Python进阶(二)——Python对象类型Python进阶(二)——Python对象类型 分类: Python 2012-08-15 15:45 1207人阅读 评论(15) 收藏 举报 近几年来,随着Google、YouTube、IRobot等大公司对Python语言的广泛使用,Python公司的身影经常出现与我们的视线,Python语言也在软件质量、开发效率、程序的可移植性、标准库的支持等方面成为了一个优秀的程序开发语言,可以完成网站、游戏开发到航空航天控制等领域的各种任务。本栏目希望通过学习《Python学习手册》和网站上的相关指导,从零学习P...

Python进阶(二)——Python对象类型
Python进阶(二)——Python对象类型 分类: Python 2012-08-15 15:45 1207人阅读 评论(15) 收藏 举报 近几年来,随着Google、YouTube、IRobot等大公司对Python语言的广泛使用,Python公司的身影经常出现与我们的视线,Python语言也在软件质量、开发效率、程序的可移植性、标准库的支持等方面成为了一个优秀的程序开发语言,可以完成网站、游戏开发到航空航天控制等领域的各种任务。本栏目希望通过学习《Python学习手册》和网站上的相关指导,从零学习Python,希望对大家有一些帮助。 本栏目开发环境:Windows 7 + Python 2.7.2 + VS2008(以后集成) Python进阶(二)——Python对象类型 上一章中我们主要讲了Python的安装与Python基本命令行,IDLE的应用。本章中我们将讲述Python的对象类型,包括数字、字符串、列表、字典、元组、文件以及用户自定义类对象。 1.总览——Python程序可以分解为模块、语句、表达式和对象 l 程序有模块构成(模块的概念上一章中提过) l 模块包含语句 l 语句包含表达式 l 表达式建立并处理对象 2.Python核心数据类型 表2.1  Python内置对象类型 以上是Python内置对象基本类型,当然不完全。比如我们在编写网络脚本时,可以使用套接字对象,其他类型的对象往往通过导入或使用模块建立。 我们将表2.1中所列类型为Python核心类型。 有一点需要注意: python中没有类型声明(这点有点儿像matlab),运行的表达式决定了建立对象的类型 在表2.1中有两个特殊的类型,一个是列表[],一个是字典{},列表提供了其他对象的有序集合,而字典是通过键值存储对象的(类似STL::map),列表和字典都可以实现嵌套,后面会讲。 3.Python数据类型——数字 l 一般地数学操作和matlab中没有什么区别: [cpp] view plaincopy 1. 123+222   2. 345   3. >>> 2**100   4. 76L   5. >>> 3.1415*2   6. 6.283   7. >>> print 3.1415*2   8. 6.283   l 这里注意一下第二个命令2**100,结果显示的时候最后出来的L是由于类型强制转换为long(长整型) l 除了表达式,python还可以导入一些常用的数学模块,比如math和random: [cpp] view plaincopy 1. >>> import math   2. >>> math.pi   3. 3.   4. >>> math.sqrt(85)   5. 9.   6. >>>   7. >>> import random   8. >>> random.random()#随机生成一个数字in[0,1]   9. 0.82   10. >>> random.choice([1,2,3,4])#在列表1,2,3,4中随机选一个   11. 2   l 这里呢,提醒一下大家,在Python IDLE和 Python Shell中敲math.xxx是出不来提示的,而pythonwin中会有提示,类似C++封装好的类: l 除此之外,Python还包含负数、固定精度十进制数、集合等数据、、数字类型,还有第三方开源扩展领域包含矩阵和向量等类型,感兴趣的朋友可以查查看。 4.Python数据类型——字符串 l python中,字符串是一个单个字符的串序列,其他序列类型还有列表和元组。 l 以下是python中对字符创的常见操作: l Python的字符串操作有个特点,你不能通过对某一位进行赋值而改变字符串,但可以通过建立一个新字符串并以同一个变量名对其赋值。因为Python会自动清理旧的对象,如下图所示: l 除此之外还有一些类型特定的方法,如replace, find方法 l 这里,因为字符串具有不可变性,因此replace操作并不会改变该字符串,而是创建一个新的字符串作为结果。 l 这里要提醒下,尽管序列操作是通用的,但方法不通用(字符串方法只能用于字符串操作)。 l 对于字符串的其他方法呢,我们可以用上一章中讲过的dir()函数和help( )函数: l dir函数给出了所有方法的名称: l help函数给出了每个函数的具体definition: l 小技巧:python字符串有一个语法,在一对 三个单引号(or双引号)之间的内容保持其格式。好熟悉的方法?是的!类似HTML中的
标签:

l 模式匹配,需要引入re模块:

l 这里大家请看match函数,其第一部分定义了模式,后一部分是要匹配的文本content。 
l 比如这个模式match = re.match('Hello[\t]*(.*)world','HelloPython world'),就是以Hello开头,连上n个'\t',再接着任意字符并将其保存至匹配的group中,最后以‘world’结尾的模式在'Hello Python world'中匹配的结果。
5.Python数据类型——列表
l python列表是一个与任意类型的对象位置相关的有序集合。列表最大的特点就是,没有固定类型的约束:

l 特定类型的操作:与string不同,list是可变的(相对于字符串的不可变性而言),但是有的方法是有针对性类型的,比如append函数只接受字符串:


l 列表嵌套

l 列表解析

6.Python数据类型——字典
l 首先看一下字典的一般赋值方式:

l 嵌套:

l 键的排序:for循环

l 迭代:

l if测试:

在后面我们还会讲try语句,一个捕获并从异常中恢复的语句
7.Python数据类型——元组
元组的最大特点是不可变,换言之,元组是不可变的序列。

元组得不可变性约束决定了某些特定安全性要求下可以使用。
8.Python数据类型——文件
l Python中的文件创建与编辑方式:

l 此时桌面上创建了一个a.txt:

l python默认文件打开方式为读'r',并可读取文件内容如下:

l 当然,除了open函数,python还有高级的文件类工具:pipes、fifos、sockets、keyed-access files等。例如文件描述符(descriptor file)支持文件锁定和其他底层工具,而sockets提供网络和进程间接口。
9.用户自定义类
一个简单的用户自定义类,有相应的attribute和method:

l 类中成员默认类型是public的(虽然python中我们还没有介绍成员变量的类型),“self”对象时我们把这叫做面向对象模型的原因,即一个函数总有一个隐含的对象,这和C++非常相似。
本文档为【Python进阶(二)——Python对象类型】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:52KB
软件:Word
页数:0
分类:互联网
上传时间:2019-04-01
浏览量:12