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对象类型分类

  • 相关阅读:
    缓存淘汰算法系列(二)
    Working Set缓存算法(转)
    缓存淘汰算法系列(一)
    面对强制加班,程序员们,你们该怎么做
    浅谈设计模式之工厂类模式由简单到复杂的演变
    报童、钱包和迪米特法则(设计模式迪米特原则经典论文翻译)
    记一次nginx热升级踩的坑
    mysql的瑞士军刀Percona Toolkit的安装及使用。
    linux下通过grep分析慢日志的前后几行
    Linux下LDAP统一认证解决方案
  • 原文地址:https://www.cnblogs.com/harvyxu/p/8535930.html
Copyright © 2011-2022 走看看