zoukankan      html  css  js  c++  java
  • python对象分类

    1 python对象分类

    所有的Python对象都拥有三个特性:身份,类型和值

    • 身份: 每一个对象都有一个唯一的身份标识自己。任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址
    • 类型: 对象的类型决定了对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。你可以内建type()查看对象的类型
    • 值:对象表示的数据项

    对象属性:某些对象有属性、值或相关联的执行代码。python用句点(.)标记法来访问属性。属性包括相应对象的名字。最常用的属性是函数和方法

    2 对象类型

    标准类型(Numeric, Sequence, Mapping)

    • 数字(分为几个子类型,其中二个是整形)
    • Interger 整型
    • Long integer 长整型
    • Boolean 布尔类型
    • Float point real number 浮点型
    • Complex number 复数型
    • String 字符串
    • List 列表
    • Tuple 元组
    • Dictionary 字典

    其他类型对象(Internal, ...)

    • 类型
    • Null 对象(None)
    • 文件
    • 可变/不可 集合
    • 函数/方法
    • 模块

    类型对象和type类型对象(Fundamental, ...)

    对象的一系列固有行为和特性都是事先定义好,从这个角度来说,类型正是保存这些信息的最佳位置。描述一种类型所需要的信息不可以用一个字符串来搞定,所以类型不能是一个简单的字符串,也不能和数据保存在一起,所以用将类型定义成一个对象是最好的选择。

    类型对象和type类型对象

    对象的一系列固有行为和特性都是事先定义好,从这个角度来说,类型正是保存这些信息的最佳位置。描述一种类型所需要的信息不可以用一个字符串来搞定,所以类型不能是一个简单的字符串,也不能和数据保存在一起,所以用将类型定义成一个对象是最好的选择。

    >>> type(2)
    <type 'int'>
    >>> type(int)
    <type 'type'>
    >>> type(type(1))
    <type 'type'>

    通过调用type()函数,能够得到特定对象的类型信息。从上述代码中我们可以知道,所有类型对象的类型都是type,它是所有python类型的根和所有python标准类型的默认元类(metaclass).

    所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小,每个对象天生具有True值或False值,空对象,值为0的任何数字或者Null对象None的布尔值都是False。下列对对象的布尔值是False:

      • None
      • False(布尔类型)
      • 所有的值为零的数
      • 0(整型)
      • 0.0 (浮点型)
      • 0L (长整型)
      • 0.0+0.0j (复数)
      • ''空字符串
      • [] 空列表
      • {} 空字典
      • () 空元组
        值不是上面列出来的任何值的对象的布尔值都是True

    3 python对象特征

    • 数字(整数,浮点数,二进制,分数等) 
      支持加法和乘法等
    • 序列(字符串,列表,元组) 
      支持索引,分片和合并
    • 映射(字典) 
      支持通过键的索引等 
    • 对象的类型告诉Python去执行什么样的任务。 
    • 集合是自成一体的一个分类(不会把键值映射到值,也没有逐位的排序顺序)。

    1.不可变类型(数字,字符串,元组,不可变集合):不支持原处修改

    2.可变类型(列表,字典,可变集合):可以通过操作原处修改,而不用创建新的对象

    一般来说,不可变类型具有某种完整性,保证这个对象不会被程序的其他部分改变

    参考:

    Python 对象分类

    python对象类型分类

  • 相关阅读:
    May 1 2017 Week 18 Monday
    April 30 2017 Week 18 Sunday
    April 29 2017 Week 17 Saturday
    April 28 2017 Week 17 Friday
    April 27 2017 Week 17 Thursday
    April 26 2017 Week 17 Wednesday
    【2017-07-04】Qt信号与槽深入理解之一:信号与槽的连接方式
    April 25 2017 Week 17 Tuesday
    April 24 2017 Week 17 Monday
    为什么丑陋的UI界面却能创造良好的用户体验?
  • 原文地址:https://www.cnblogs.com/harvyxu/p/8535930.html
Copyright © 2011-2022 走看看