美文网首页
python对象

python对象

作者: 小米稀饭a | 来源:发表于2020-04-12 12:35 被阅读0次

    前记

    用了一段时间python语言,结合在开发中的使用,自己又有新的感悟,使用别人的框架是带着镣铐的舞蹈,思想在基础里早已体现。借此加深理解、温故知新。
    小僧很想和同行的朋友沟通交流、并肩前行,志同道合的朋友看过来喽!

    1

    python使用对象模型来存储数据。构造任何类型的值都是一个对象。
    所有python对象都拥有三个特性:身份、类型和值

    • 身份
      每一个对象都有唯一的身份标识自己,任何对象的身份可以使用内建函数id(obj)来得到。这个值可以被认为是对象的内存地址。
    • 类型
      对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。你可以用内建函数type(obj)查看对象类型。因为在python中类型也是对象,所以type()返回的是对象,而不是简单的字符串。

    • 对象表示的数据项。

    对象属性

    某些python对象有属性、值或相关联的可执行代码。python用.标记法来访问属性。

    标准类型

    • 数字类型 整型、长整型、浮点型、布尔型、复数型
    • 字符串类型
    • 列表
    • 元组
    • 字典
      这些类型是python内建的基本数据类型。

    其他内建类型

    • 类型
    • Null对象none
    • 文件
    • 集合
    • 函数
    • 模块

    类型

    对象的一系列固有行为和特性必须实现定义好,从这个角度看,类型是保存这些信息的最佳位置。

    >>> type(666)
    <class 'int'>
    >>> type(type(666))
    <class 'type'>
    >>> type(666)
    <class 'int'>
    >>> type(type(666))
    <class 'type'>
    

    所有类型对象的类型都是type,它也是所有python类型的根和所有python标准类型的默认元类。

    None

    python中的Null对象,它只有一个值,那就是None,不支持任何运算也没有内建方法。None没有什么有用的属性,他的布尔值总是False。

    内部类型

    • [代码对象]
    • 跟踪记录
    • 切片

    标准类型操作符

    对象值的比较

    不同于其他编程语言,多个比较操作可以在同一行进行,比较顺序为从左到右

    >>> 3 < 4 < 7    #same as   (3<4) and (4<7)
    True
    >>> 3 < 4 < 1
    False
    

    比较运算符是针对对象的值进行比较,不是对象本身。

    对象身份比较

    >>> a=b=10
    >>> a is b
    True
    >>> a is not b
    False
    >>> id(a)==id(b)
    True
    
    a is b 等价于  id(a)==id(b) 
    
    

    python中是通过引用传递处理对象,每个对象天生具有一个计数器,记录自己的引用次数,这个数目表示有多少个变量指向该对象。python提供isis not两个操作符来判断两个变量是否指向同一个对象。

    布尔类型

    布尔类型操作符都是python关键字,优先级顺序是:not>and>or

    后续...

    相关文章

      网友评论

          本文标题:python对象

          本文链接:https://www.haomeiwen.com/subject/wybjphtx.html