第四章 Python对象

一、python对象的三个特性:

  身份:可用id()函数查看,可以被认为是该对象的内存地址

  类型:可用type()函数查看

  值

二、标准类型

数字  整型  布尔  长整型  浮点型  复数型  字符串  列表  元组  字典

三、其他内建类型

类型(Type)  Null对象(None)  文件  集合  函数(方法)  模块  类

1 类型对象

把类型本身当成对象!

使用type()返回对象的类型信息,该函数返回的即是一个类型对象!

所有类型对象的类型都是type,可这样实验:type(type(42))

2 Null对象

Null对象只有一个值,即None

四、内部类型

包括:代码  帧  跟踪记录  切片  省略  Xrange

一般程序不会直接与其接触

五、标准类型运算符

1 对象值的比较

容易理解,不赘述

2 对象身份的比较

a is b 等价于 id(a) == id(b)

a is not b

六、标准类型内建函数

1 type()

  返回值是一个类型对象

2 cmp()

  比较两个对象的值,行为类似于strcmp()函数

3 str()、repr()、''运算符

  该三个函数以字符串的方式获取对象的信息

  str()和''相似,返回的是一个对象的“官方”字符串表示,返回的是一个对象的“官方”字符串表示:

    obj == eval( repr(obj) )

  ''已经不鼓励使用了

4 type()和isinstance()

  if isinstance(num, (int, long, float, complex)):

    ……

七、类型工厂函数

Python 2.2 统一了类型和类, 所有的内建类型也都是类, 在这基础上, 原来的所谓内建转换函数象 int(), type(), list() 等等, 现在都成了工厂函数:

下面这些大家熟悉的工厂函数在老的 Python 版里被称为内建函数:

 int(), long(), float(), complex()
 str(), unicode(), basestring()
 list(), tuple()
 type()

支持新风格的类的全新的数据类型,也添加了相应的工厂函数:

dict()
 bool()
 set(), frozenset()
 object()
 classmethod()
 staticmethod()
 super()
 property()
 file()

八、标准类型的分类

在此不讲了,都是些空洞的东西

九、不支持的类型

  char或byte

  指针

  double

Python核心编程读笔 3的更多相关文章

  1. Python核心编程读笔 12:OOP

    第13章 面向对象编程 一.基本概念 1.object类是所有类的基类,如果你的类没有继承任何其他父类,object 将作为默认的父类. 2.python创建实例时无需new: myFirstObje ...

  2. Python核心编程读笔 10:函数和函数式编程

    第11章 函数和函数式编程 一 调用函数  1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 ...

  3. Python核心编程读笔 1

    第一章 欢迎来到Python世界 1 Python特点: 高级的可进行系统调用的解释性语言 面向对象 可升级.扩展.移植 自动内存管理器(内存管理由Python解释器负责) 2 安装 Windows的 ...

  4. Python核心编程读笔 13:执行环境

    第14章  执行环境 一.可调用对象 python有四种可调用对象:函数.方法.类.一些类的实例 1 函数 (1)内建函数(BIF) BIF是用c/c++写的,编译后放入python解释器,然后把它们 ...

  5. Python核心编程读笔 11:模块

    第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys. ...

  6. Python核心编程读笔 8: 文件和输入输出

    第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...

  7. Python核心编程读笔 7: 条件和循环

    第八章 条件和循环 一.if python中的条件表达式:很奇葩!!! smaller = (x < y and [x] or [y])[0] 或者: smaller = x if x < ...

  8. Python核心编程读笔 6: 映射和集合类型

    第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂 ...

  9. Python核心编程读笔 5: python的序列

    第六章 序列:字符串.列表.元组 一.序列 (1)序列类型操作符 seq[ind] 获得下标为 ind 的元素 seq[ind1:ind2] 切片操作 seq * expr 序列重复 expr 次 s ...

  10. Python核心编程读笔 4

    第五章 数字 二.整形 1 布尔型 2 标准整数类型 3 长整型 数字后面加L,能表示非常非常大的数字 目前,整形和长整型逐渐统一!!! 三.双精度浮点数 四.复数 有关复数的几个概念: 表示虚数的语 ...

随机推荐

  1. Memcached安装卸载

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度.Memcached ...

  2. 蜗牛爱课- CGAffineTransformMakeRotation 实现一张图片的自动旋转

    self.locationTimer =[NSTimer scheduledTimerWithTimeInterval: 0.01 target: self selector:@selector(tr ...

  3. C#中Json字符串的各种应用类

    在程序中任何事物及信息都可以用对象进行描述和承载,除了比较流行的xml之外,还有一种简洁快速处理目标信息的形式那就是Json格式. 首先Json格式有自己固定的格式:例如person这个对象就可以简单 ...

  4. Vim 扩展工具 vim-ide (转)

    通过简单的配置文件将 vim 打造成专业 ide,支持 mac linux cygwin.看过数篇 vim 配置文件,必要时去定制vim 的插件,将 vim 的 ide 用户体验尽量做到极致. 使用范 ...

  5. Remove Element,Remove Duplicates from Sorted Array,Remove Duplicates from Sorted Array II

    以下三个问题的典型的两个指针处理数组的问题,一个指针用于遍历,一个指针用于指向当前处理到位置 一:Remove Element Given an array and a value, remove a ...

  6. C++ 动态分配类对象

    1.概念 在C++中,类的对象建立分为两种,一种是静态建立,如A a:另一种是动态建立,如A* ptr=new A:这两种方式是有区别的. 静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通 ...

  7. linux 如何禁用账号和解除禁用账号

    把账号禁用可以有几个方法:1. # usermod -L <username> # usermod -U <username> // 解除禁用2. 修改/etc/passwd文 ...

  8. 【git】error: Your local changes to the following files

    今天在服务器上git pull是出现以下错误: error: Your local changes to the following files would be overwritten by mer ...

  9. The solution for "Eclipse is running in a JRE, but a JDK is required"

    Open the eclipse folder and access the eclipse.ini file:   Before change it ,you will find it don’t ...

  10. Matlab.NET混编技巧之——找出Matlab内置函数

    原文 http://www.cnblogs.com/asxinyu/p/3295309.html Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯 定不难.反之,有时 ...