本章主题

  • 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. 教程Xcode 下编译发布与提交App到AppStore

    The proplem of Prepare for Upload for App store upload Application App store 增加新应用的步骤. 1. 访问iTunesCo ...

  2. Runtime 应用(一)拦截系统自带的方法交换实现

    动态的交换方法能够给项目中大量已经使用的方法 进行拦截增加操作 实践:利用运行时交换系统的ImageNamed:方法 应用背景 当系统需要适配ios7和ios8时可能会有显示不同图片的需求,但在老项目 ...

  3. tomcat日志保存在哪里?

    tomcat目录下的logs文件夹下.有个catalina.20xx-xx-xx.log

  4. 网络子系统46_ip协议数据帧的转发

    //调用路径ip_rcv->ip_rcv_finish->dst_input->(skb->dst->input) //ip_forward以回调函数的形式,保存在skb ...

  5. LeetCode——Power of Two

    Description: Given an integer, write a function to determine if it is a power of two. public class S ...

  6. 使用openssl生成RSA公钥和私钥对

    在ubuntu上要使用openssl的话需要先进行安装,命令如下: sudo apt-get install openssl 安装完成就可以使用openssl了. 首先需要进入openssl的交互界面 ...

  7. JSP 通过Session和Cookie实现网站自动登录

    点记住密码 login.jsp String host = request.getServerName(); Cookie cookie = new Cookie("SESSION_LOGI ...

  8. CentOS中用户不在 sudoers 文件中。此事将被报告。

    首先切换为root用户 su root; 然后更改etc/sudoers文件的只读为可读可写可执行. sudo chmod 777 /etc/sudoers 输入visudo命令即可编辑文件,找到ro ...

  9. Vue2.0 新手完全填坑攻略——从环境搭建到发布

    Jinkey原创感谢 showonne.yubang 技术指导Demo 地址:http://demo.jinkey.io/vue2源码:https://github.com/Jinkeycode/vu ...

  10. pta 天梯地图 (Dijkstra)

    本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至少存在一条可达路线. 输 ...