前记

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

1

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 身份
    每一个对象都有唯一的身份标识自己,任何对象的身份可以使用内建函数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

后续...

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄