阅 读 文 章

探索 Python 类型的层次结构

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]

 
Python 编程语言是一种简单但功能强大的语言。本文将探索该语言的对象属性,开头部分介绍了一些简单的内置数据类型。此外,本文还介绍了 Python 元组类,并用它演示容器类型的概念。

在 Python 语言中,所有事物都是程序可以访问的对象, 其中包括保存整数的简单类型,以及您编写的实际代码和这些代码在 Python 解释器中的表示。对于熟悉其他编程语言的人来说,此行为可能导致某些混乱。但是,在实践中,不会出现这种情况。Python 有一个良好定义的类型(或对象)层次结构。该层次结构在概念上可以划分为四种类别:简单类型、容器类型、代码类型内部类型。这四种类别和简单类型本身在本系列的第一篇文章“Python 入门,第 1 部分:Python 的内置数据类型”中作了介绍。本文将再次查看可以在 Python 中使用的那些简单的内置数据类型,这次着重介绍这些类型的对象属性。然后,我们将介绍容器 类型的概念,并且将 Python tuple 类作为此类型的第一个示例,进行重点介绍。

简单类型
内置到 Python 编程语言中的简单数据类型包括:

  • bool
  • int
  • float
  • complex

支持简单数据类型不是 Python 独有的功能,因为多数现代编程语言都具有完整类型补充。例如 Java™ 语言甚至有一组更丰富的原始数据类型:

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean

但是,在 Python 中,简单数据类型并不是原始数据类型,而是完善的对象,它们有自已的方法和类。另外,这些简单的内置类型是不可改变的,这意味着:创建对象之后,您无法更改对象的值。如果需要新值,则必须创建新的对象。Python 简单数据类型的不可改变特性与其他多数流行语言(如 Java 语言)处理简单原始类型的方式不同。但是,当您对这些简单数据类型的对象属性有了更多的了解之后,就很容易理解这种差异。

所以,整数如何能够拥有一些方法?它仅仅是一个数字吗?不是的,至少在 Python 中答案是否定的。您自已可以对它进行检验:仅借助内置的 help 方法,就可以向 Python 解释器咨询关于 int 对象的信息(参见清单 1 )。

清单 1. Python 解释器: 用于整数对象的 Help
rb% pythonPython 2.4 (#1, Mar 29 2005, 12:05:39) [GCC 3.3 20030304ppp(Apple Computer, Inc. build 1495)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> help(int)Help on class int in module __builtin__:class int(object) |  int(x[, base]) -> integer |   |  Convert a string or number to an integer, if possible.  A floating point |  argument will be truncated towards zero (this does not include a string |  representation of a floating point number!)  When converting a string, use |  the optional base.  It is an error to supply a base when converting a |  non-string. If the argument is outside the integer range a long object |  will be returned instead. |   |  Methods defined here: |   |  __abs__(...) |      x.__abs__() <==> abs(x) |   |  __add__(...) |      x.__add__(y) <==> x+y...
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 结构 层次 类型 探索 Python tuple 一个 数据 可以 对象

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.