ExASIC
分享让工作更轻松

Python的数据类型(一):介绍

谢谢合位童鞋的热情捧场,经过几天的学习,大家撩起了学习Python的热潮。今天来学习Python的数据类型(或者叫对象的类型)。

面向对象

Python是面向对象的语言。在Python里,数据总是以对象的形式存在,或者Python内建的对象,或者是我们创建的类。

对象是什么?

对象就是一片内存。在这片内存区域里,存放着变量的值,及与其相关的一些操作方法。Python里的一切都是对象,甚至一个数字,如99,也是一个对象。数字99支持加、减等操作。

基本类型

我们先来看看Python内建对象的基本类型有哪些?

basic data type

数字

数字就是指

为什么说数字也是对象?

以整数为例,执行a = 123时,我们来看看发生了什么事情:

  1. 在内存中创建一个整数的对象
  2. 初始化这个对象的成员变量的值为123
  3. a指向刚创建的对象

我们打开python3.6.2的源码,Include/longintrepr.h,找到整数结构体_longobject的定义如下:

integer

可以看出其实Python是基于C++的,由C++定义的结构体对整数类型进行了封装。至此,我们应该理解了为什么说Python的数值也是对象了吧。

字符串

字符串是指用

如'Bob','apple',"yellow", '''I love you!'''。

引号中的引号

单引号里可以包括双引号,双引号里也可以包括单引号。三引号里可以包括单引号和双引号,反之不行。例如,'ab"c',"Bob's",'''ab"cBob's'''。但'ab'''c'则是非法的。

引号中的转义

单引号、双引号、三引号中都可以转义,且效果相同。如'ab\nc',"ab\nc",'''ab\nc'''三者是等价的。

三引号的特殊作用

三引号中可以加换行,即可以表示多行字符串。在用print()打印时按原样输出,所以三引号通常用来输出大段的文本。如:

strHelp = '''
This is the help doc of simulation tools.
-v  To specify verilog library file
-y  To speicy verilog library search path
'''
print(strHelp)
与Perl字符串的对比

qoute python vs perl

预告

下次我们再慢慢介绍列表、字典、元组等其它对象类型。

习题
  1. 对照Python3的源代码,理解为什么数字是对象。
  2. 编几个小程序,验证一下单引号、双引号、三引号的差别。
阅读数:
更多文章:文章目录
解惑专区
(支持markdown插入源代码)
欢迎使用ExASIC订阅服务
仅用于ExASIC最新文章通知,方便及时阅读。
友情链接: IC技术圈问答ReCclayCrazyFPGA