Python笔记: Ch.4 对象

py对象:

  • 身份:
    每一个对象都有一个唯一的身份标识
    使用内建函数id()来获取此标识, 这个值可以被认为是该对象的内存地址。

  • 类型:
    对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则
    使用内建函数type()查看Python对象的类型

    image-20200912213159226

  • 值:对象表示的数据项。

标准类型(基本数据类型)

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

其他内建类型

  • 类型:

    即type对象:

    image-20200912215009191

  • Null对象(None)

    类比与C++的void类型

    其布尔值为false

  • 文件

  • 集合/固定集合

  • 函数/方法

  • 模块

内部类型:

这里暂时没啥用, 仅作记录

  • 代码
  • 跟踪记录
  • 切片
  • 省略
  • Xrange

标准类型操作符:

对象身份(地址)比较:

使用is & is not操作符进行
用于判断两个obj是否是同一个对象

image-20200913090804513

python有较为复杂的缓存机制, 并不会每一次都创建新对象

布尔类型

就是前头讲的and or not

标准类型内建函数

type()

返回一个类型对象:

image-20200913092739441

cmp()

cmp() 函数是Python 2中的一个用于比较两个列表, 数字或字符串等的大小关系的函数

在Python 3中已经无法使用这个函数了

str() & repr() & ‘’

  1. repr() & ‘’

返回的是一个对象的“官方“字符串表示

也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象

对python&开发人员友好, 返回更准确的定义

  1. str()

    返回一个可读性好的字符串

    对用户友好, 推荐仅在与用户交互时使用

这俩具体的差别可看:
https://blog.csdn.net/Watkins_OS/article/details/100042680?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight

type() & isinstance()

type的各种返回值:

image-20200913100517297

isinstance(object, classinfo)

判断实例是否是classinfo类

等效于:

if type(3)==type(0)

使用isinstance有效避免了大规模的if-else

image-20200913101848820

isinstance支持元组的形式, 避免了函数的重复调用, 提高了性能

image-20200913102445601

工厂函数(内建函数):

常用的工厂函数:

  • int (), long (), float (), complex ()

  • str(), unicode (), basestring ()

  • list (), tuple()

  • type()

  • dict ()

  • bool ()

  • set (), frozenset ()

  • object ()

  • classmethod ()

  • staticmethod ()

  • super ()

  • property ()

  • file ()

标准类型分类:

image-20200913104457581

不支持的类型

  1. char & byte

  2. 指针

  3. short & long

    python中所有的都是长整型

  4. float 单精度

    py中所有的都是double双精度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值