RSS
热门关键字:
当前位置 : 主页>编程开发>Python>列表

Python 入门 - Python 的内置数值类型

来源:我要研发网 作者:BusinessWeekly.Asia 时间:2008-05-18 点击:



  Python 编程语言具有很高的灵活性,它支持多种编程方法,包括过程化的、面向对象的和函数式的。但最重要的是,在 Python 中编写程序是件令人愉悦的事。该语言对开发进程有支持作用,决不会妨碍它。本文是关于 Python 编程系列文章的第一篇,主要介绍 Python 及其内置数值类型。 字串8

  Python 是一种敏捷的、动态类型化的、极富表现力的开源编程语言,可以被自由地安装到多种平台上(参阅 参考资料)。Python 代码是被解释的。如果您对编辑、构建和执行循环较为熟悉,则 Python 代码对您来说更简单。但是,请不要搞错:Python 器可以是简单的脚本,也可以是大型的复杂程序。事实上,Python 解释器的最大特点是鼓励探索和简化学习过程。如果您想证明这一点,请使用 Python 编写著名的 Hello World! 程序:

字串3

  启动 Python 解释器。在 UNIX 系统(包括 Mac OS X)中,启动解释器通常包括在命令提示行键入 python;在 Microsoft® Windows® 系统中,启动 Python 命令 shell。

字串8

  在 Python 提示行中,在三个大于号 (>>>) 标志后输入 print 'Hello World!',然后按 Enter。 字串9

  完成:没有第三步了。清单 1 显示了此命令的输出。 字串3

  清单 1. 用 Python 编写的 "Hello World" 的输出

字串6

rb% python
Python 2.4 (#1, Mar 29 2005, 12:05:39)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1495)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Hello World!'
Hello World!
字串2

  您可以看到,我使用的是运行于 Apple OS X 系统上的 Python V2.4。但是,不管操作系统是什么,基本原理都是一样的,而且在本例中,所用的是 Python 的哪一个实际版本也无所谓。我虽然不了解您,但是此 Hello World! 练习比我学过的 C、C 甚至 Java™ 语言的对应练习容易多了。这种简单性就是使用 Python 解释器的主要优点之一。开发人员可以快速试验一个想法、研究一种对象属性或不同算法,而无需编译、执行和测试任何代码。 字串3

  Python 类型层次结构

字串4

  从其他语言过渡到 Python 编程语言时需要学习的最重要的课程之一是,Python 中的每样东西都是对象。这一点可能并没有什么特别之处,尤其是对于熟悉面向对象的语言(如 C 、Java 或 C#)的人来说。然而,Python 的面向对象原理与其他语言不同,主要表现在两个方面:第一,Python 中的所有数据值都被封装在相关对象类中。第二,Python 程序中的所有东西都是可以从程序访问的对象,即使是您编写的代码也不例外。 字串5

  大多数流行的编程语言都有多个内置的数据类型,在这一方面 Python 也一样。例如,C 编程语言具有整型和浮点类型。由于谱系相同,Java 语言和 C# 具有内置类型也不足为奇。这意味着在 C 程序中,可以编写 int i = 100 来创建和初始化整型变量。在 Java 和 C# 中,此方法也是可能的,而且使用它们的自动装箱功能,在需要时这两种语言还可以把这种简单的内置类型转换为 Integer 对象。

字串9

  另一方面,Python 不包含像 int 这样的简单类型 —— 只有对象类型。如果 Python 中需要整数值,将整数赋值给相应变量(如 i = 100 )即可。在后台,Python 将创建一个整数对象,并将对新对象的引用赋值给变量。问题的关键是:Python 是一种动态类型化语言,所以无需声明变量类型。事实上在单个程序中,变量的类型是可以改变(多次)的。

字串1

  一种直观演示动态类型化工作方式的简单方法是,设想单个名为 PyObject 的基类,让 Python 中的所有其他对象类型都继承它。在这一模型中,您创建的所有变量都将引用在总的类层次结构中创建的对象。如果您还让 PyObject 类记录曾创建并分配给变量的子类的实际类型或名称,则 Python 程序可正确确定程序执行过程中需要采取的步骤。

字串3

  上一段描述 Python 的面向对象的模型图像是对 Python 的实际工作方式很好的模拟。除此之外,Python 还可以使用类型函数来简化对变量类型的确定。(本例还介绍如何使用带有 # 字符的内联注释。)

字串4

  清单 2. 演示 Python 简单类型 字串5

>>> i = 100 # Create an int object whose value is 100
>>> type(i)

>>> f = 100.0
>>> type(f)
字串7

  可以将 PyObject 类之下的所有 Python 类划分为 Python 运行时解释器可以使用的四个主要类别:

字串7

  简单类型 —— 基本构建块,如 int 和 float。

字串3

  容器类型 —— 保存其他对象。 字串9

  代码类型 —— 封装 Python 程序的元素。 字串5

  内部类型 —— 程序执行期间使用的类型。

字串3

  到本系列结束时,我会把所有不同类别都介绍给大家。但是在这第一篇文章中,我重点介绍简单类型。

字串1

  简单类型

字串8

  Python 有五个内置的简单类型:bool、int、long、float 和 complex。这些类型是不可变的,就是说整数对象一旦创建,其值便不可更改。相反,系统将创建新的简单类型对象并将其赋值给变量。通过 Python id 函数,可以查看基本 PyObject 标识的变更方式:

字串9

  清单 3. 使用 Python id 函数

字串1

>>> i = 100
>>> id(i)
8403284
>>> i = 101
>>> id(i)
8403296
字串9

  此方法看似容易丢失对象,会导致内存泄漏。但是,Python 像 C# 和 Java 一样,使用了垃圾回收功能,以释放用于保存不再引用的对象的内存,如上例中用于保存 100 的整数对象。 字串2

  布尔类型 字串9

  Python 中最简单的内置类型是 bool 类型,该类型包括的对象仅可能为 True 或 False: 字串8

  清单 4. bool 类型 字串8

>>> b = True
>>> type(b)

>>> id(b)
1041552
字串5

  因为只有两个可能值,所以布尔类型是惟一的。Python 解释器提供这仅有的(也是必需的)两个 bool 对象:True 和 False。在任何时候,在 Python 程序需要这些对象时,变量只能相应地引用其中一个值。清单 5 显示 bb 变量如何具有同一个 id,不管您直接赋予它 b 变量的值还是直接赋予它 True 对象。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
相关文章