栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python object和type关键字的个人理解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python object和type关键字的个人理解

Objects are Python’s abstraction for data.

概念上的理解
  • python 中的所有实例都具有类型(type), 所有实例都是object类型的实例
    # 1. 所有实例都具有类型
    ....
    try:
        type(whatever)
    except NameError:
        pass
    else:
        assert False
    
    # 2.所有实例都是object的实例
    assert isinstance(whatever, object) == True
    
  • type本身也具有类型,且type是object的实例
    assert type(type) == type
    assert isinstance(type, object)
    
    这基本上表示了是类型系统的顶点。即
    assert isinstance(type(whatever), type)
    assert isinstance(whatever.__class__, type)
    
    对于来说,这是显然的事实。此外,可以验证
    assert type(object) == type
    assert isinstance(object, type)
    
    type与object的关系基本如此
  • 属于metaclass。meta在代码中的含义可以理解为产生代码的代码,metaclass即为产生class的class。如下
    assert type("abc") == str
    
    后续学习python metaprogramming部分可能会补充
  • class X的默认类型为, def foo的默认类型为
手册的查阅
  • class type(object):属于构造函数,基本上等价于返回object.__class__
  • isinstance(object, classinfo):判断object.__class__与classinfo的关系。但注意**不是与classinfo.__class__**的关系。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018193.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号