本章主题

  • Python对象
  • 内建类型
  • 标准类型操作符
  • 值的比较
  • 对象身份比较
  • 布尔类型
  • 标准类型内建函数
  • 标准类型总览
  • 各种类型
  • 不支持的类型
 
 
Python对象
 
     Python使用对象模型来存储数据。构造任何类型的值都是一个对象。所有Pyhon对象都拥有三个特性:身份,类型和值。
 
 
标准类型
 
 
 
 
其他内建类型
 
 
 
我们可以使用内建函数type()得到特定对象的类型信息。
 
 
 
 
None------Python的NULL对象
 
 
 
 
 
 
 
 
内部类型
 
  • 代码
  • 跟踪记录
  • 切片
  • 省略
  • Xrange
 
 
代码对象
。。。。。。
 
 
帧对象
 
帧对象包含Python解释器在运行时所需要知道的所有信息。
 
 
跟踪记录对象
 
当代码出错时,Python就会引发一个异常。如果异常未被捕获和处理,解释器就会退出脚本运行。
 
 
切片对象
 
 
 
 
省略对象
 
     
 
XRange对象
 
     调用内建函数xrange()会生成一个Xrange对象,xrange()是内建函数range()的兄弟版本。
 
 
 
 
 
 
 
 
标准类型操作符
 
 
 
 
 
 
对象身份比较
 
     。。。。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
布尔类型
 
 
 
 
标准类型内建函数
 
 
 
 
 
 
 
 
 
 
 
 
 
 
实例
def displayNumType(num):
    print num,'is',
    if isinstance(num,(int,long,float,complex)):
        print 'a number of type:',type(num).__name__
    else:
        print 'not a number at all!!'

displayNumType(-69)
displayNumType(99999999999999999L)
displayNumType(98.6)
displayNumType(-5.2+1.9j)
displayNumType('xxx')

 
 
 
减少函数调用的次数
     如果我们仔细研究一下我们的代码,会看到我们调用了两次type()。要知道每次调用函数都会付出性能代价,如果我们能减少函数的调用次数,就会提高程序的性能。
 
     利用在本章我们前面提到的types模块,直接使用type对象而不是每次计算出这个对象来。
 
 
>>> import types
>>> type(2) is types.IntType
True
 
 
 
 
-----------------------------------------------------------------------------------------------------------------------------------------
 
 
 
 
练习题
 
4-1.Python对象。与所有Python对象有关的三个属性是什么?请简单描述一下。
 
 答:所有的Python对象都拥有三个特性:身份、类型和值。   
 
4-2. 类型。不可更改(immutable)指的是什么?Python的哪些类型是可更改的(multable),哪些不是?
 
4-3.类型。哪些Python类型是按照顺序访问的,它们和映射类型的不同是什么?
 
4-4. type()。内建函数type()做什么?type()返回的对象是什么?
 
 
4-5. str()和repr()。内建函数str()与repr()之间的不同是什么?哪一个等价于反引号(``)操作符?
 
4-6.对象相等。你认为type(a) == type(b)  和  type(a) is type(b)   之间的不同是什么?为什么会选择后者?函数isinstance()与这有什么关系?
 
 
4-7.内建函数dir()。在第2章的几个练习中,我们用内建函数dir()做了几个实验,它接受一个对象,然后给出相应的属性。请对types模块做相同的实验。记下你熟悉的类型,包括你对这些类型的认识,然后记下你还不熟悉的类型。在学习Python的过程中,你要逐步将“不熟悉”的类型变得“熟悉”起来。
 
 
4-8.列表和元组。列表和元组的相同点是什么?不同点是什么?
 
 
 
4-9.实践。
 

【4】Python对象的更多相关文章

  1. python征程3.0(python对象)

    1.python使用对象模型来存储数据.构造任何类型的值都是一个对象.”尽管python被当成一种面向对象的脚本的编程语言“,但你完全能够写出不使用任何类和实例的脚本. python对象都拥有三个特性 ...

  2. python 对象

    python 对象 在python中,对象就是为C中的结构体在堆上申请的一块内存,一般来说,对象是不能被静态初始化的,并且不能再栈空间上生存.本文主要对Python的基本数据类型做简单的介绍. PyO ...

  3. Python 对象的引用计数和拷贝

    Python 对象的引用计数和拷贝 Python是一种面向对象的语言,包括变量.函数.类.模块等等一切皆对象. 在python中,每个对象有以下三个属性: 1.id,每个对象都有一个唯一的身份标识自己 ...

  4. Python对象(译)

    这是一篇我翻译的文章,确实觉得原文写的非常好,简洁清晰 原文链接:http://effbot.org/zone/python-objects.htm ------------------------- ...

  5. 《Python核心编程》 第四章 Python对象- 课后习题

    练习 4-1. Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下. 答:身份.类型和值: 身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到.  类型:对象的 ...

  6. Python对象体系揭秘

    Guido用C语言创造了Python,在Python的世界中一切皆为对象. 一.C视角中的Python对象 让我们一起追溯到源头,Python由C语言实现,且向外提供了C的API http://doc ...

  7. 【2】python核心编程 第四章-python对象

    1.python对象 所有的Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到. 这个值可以被认为是该对象的 ...

  8. python学习笔记:python对象

    一.python对象 python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的python对象都拥有三个特性:身份.类型和值. 身份:每个对象都有一个唯一的身份标识自己,对象的身份可以 ...

  9. Python对象类型及其运算

    Python对象类型及其运算 基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = ...

  10. 判断python对象是否可调用的三种方式及其区别

    查找资料,基本上判断python对象是否为可调用的函数,有三种方法 使用内置的callable函数 callable(func) 用于检查对象是否可调用,返回True也可能调用失败,但是返回False ...

随机推荐

  1. java中定义一个CloneUtil 工具类

    其实所有的java对象都可以具备克隆能力,只是因为在基础类Object中被设定成了一个保留方法(protected),要想真正拥有克隆的能力, 就需要实现Cloneable接口,重写clone方法.通 ...

  2. GROW

    经理今天介绍了一下,GROW,就给他放上来了:   有一个辅导的方法 叫做 GROW (G:goal:R:reality:O:option:W:will)这个辅导方法是这样的,客观地给自己或者别人提问 ...

  3. 设计模式之抽象工厂模式(Java实现)

    “上次是我的不对,贿赂作者让我先讲来着,不过老婆大人大人有大量,不与我计较,这次还让我先把上次未讲完的应用场景部分给补充上去,有妻如此,夫复何求.”(说完,摸了摸跪的发疼的膝盖,咳咳,我发四我没笑!真 ...

  4. vux报错 this指针问题

    报错: 代码: 结果:取不到this.tishi,不明白为什么在请求内部会取不到这个值. 分析:this可能有问题 解决: 结果: 这样就能取到this.tishi的值了. 总结: methods:{ ...

  5. Mac下Python与Kafka的配合使用

    安装并配置Kafka 安装 # brew install kafka 配置 """ zookeeper配置文件/usr/local/etc/kafka/zookeeper ...

  6. python的类继承与派生

    一.继承和派生简介: 其实是一个一个事物站在不同角度去看,说白了就是基于一个或几个类定义一个新的类.比如定义了动物类接着派生出了人类,你也可以说人类继承了动物类.一个意思.此外python类似于C和C ...

  7. ansible的入门级使用

      author: headsen  chen   date: 2018-08-02   11:46:35 1,ansible的安装 yum install epel-release yum -y i ...

  8. 【BZOJ3935】Rbtree 树形DP

    [BZOJ3935]Rbtree Description 给定一颗 N 个点的树,树上的每个点或者是红色,或者是黑色. 每个单位时间内,你可以任选两个点,交换它们的颜色. 出于某种恶趣味,你希望用最少 ...

  9. 【BZOJ4337】BJOI2015 树的同构 括号序列

    [BZOJ4337]BJOI2015 树的同构 Description 树是一种很常见的数据结构. 我们把N个点,N-1条边的连通无向图称为树. 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱 ...

  10. linux的~和/的区别

    转自:https://zhidao.baidu.com/question/166486946.html /是目录层的分隔.表示符.只有一个/表明是root,/etc/表明是根目录下面的etc目录(当然 ...