Python:type、object、class与内置类型实例

Python:type、object、class

Python: 一切为对象

>>> a = 1
>>> type(a)
<class'int'>
>>> type(int)
<class'type'>

type => int => 1

type => class => obj

type是个类,生成的类也是对象,生成的实例是对象

>>>class Student:
>>> pass
>>>
>>>stu = Student()
>>>type(stu)
__main__.Student
>>>Student.__base__
object

Student的基类是obj

>>>class MyStudent(Student):
>>> pass
>>>
>>>MyStudent.__base__
__main__.Student

MyStudent继承Student

MyStudent的基类是Student

object是最顶层的基类

type是个类,同时type也是个对象

>>> type.__base__
object
>>> type(object)
type
>>> object.__bases__
()

object是type的实例

type继承object

我们可以把这些分为3类:

第一类:type自成一类,type是自己的对象(可以实例化自己),type可以把所有变成他的对象

第二类:list、str、Student…类会继承object,list、str、Student…是类,同时也是type的对象。object是所有的基类(一切都继承object)

第三类:生成的对象

Python 内置类型

对象的三个特征:

身份

类型

身份:每个对象身份均不同

>>> a = 1
>>> id(a)
4333971504
>>> a = {}
>>>id(a)
4393125064

类型

None(全局只有一个)

数值

int

float

complex(复数)

bool

迭代类型

序列类型

list

bytes、bytearray、memoryview(二进制序列)

range

tuple

str

array

映射(dict)

集合

set

frozenset

上下文管理类型(with)

其他

模块类型

class和实例

函数类型

方法类型

代码类型

object对象

type类型

ellipsis类型

notimplemented类对象

None类型:Python在程序启动的时候会生成一个None对象

>>> a = None
>>> b = None
>>> id(a) == id(b)
True

以上这篇Python:type、object、class与内置类型实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 浅析Python数字类型和字符串类型的内置方法

    一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内置方法 没有内置方法,只有算术运算和比较运算 存在一个值还是多个值 存一个值 有序or无序 有序:有索引:无序:无索引 压根就没有这一说 可变or不可变(重点) 数字类型不可变 可变(变量值而言) lis = [1,2,3] print(id(lis)) lis[0] = 2 #lis-->[2,2

  • Python之Class&Object用法详解

    类和对象的概念很难去用简明的文字描述清楚.从知乎上面的一个回答中可以尝试去理解: 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 我觉得有一本书对这个类与对象描述的特别好:Head First Java第2版中文版,大家可以通过Java去学习类和对象. class class是用来定义类的.类在面向对象编程里面是很有用的,能够大大提升开发效率和代码维护性

  • 详解Python中的type和object

    type  所有类是type生成的 a = 1 b = "abc" print("type a:{}".format(type(a))) print("type int:{}".format(type(int))) print("type b:{}".format(type(b))) print("type str:{}".format(type(str))) result: type a:<clas

  • Python中的类与类型示例详解

    1.经典类与新式类 在了解Python的类与类型前,需要对Python的经典类(classic classes)与新式类(new-style classes)有个简单的概念. 在Python 2.x及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于"新式类",都会获得所有"新式类"的特性:反之,即不由任意内置类型派生出的类,则称之为"经典类". "新式类"和"经典类"的区

  • Python:type、object、class与内置类型实例

    Python:type.object.class Python: 一切为对象 >>> a = 1 >>> type(a) <class'int'> >>> type(int) <class'type'> type => int => 1 type => class => obj type是个类,生成的类也是对象,生成的实例是对象 >>>class Student: >>>

  • Python内置类型性能分析过程实例

    这篇文章主要介绍了Python内置类型性能分析过程实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. Timer是测量小段代码执行速度的类. class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>) stmt参数是要测试的代码语句(statment): setup参数是运行代码时需

  • Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)

    译者前言:相信凡是用过 zip() 内置函数的人,都会赞同它很有用,但是,它的最大问题是可能会产生出非预期的结果.PEP-618 提出给它增加一个参数,可以有效地解决大家的痛点. 这是 Python 3.10 版本正式采纳的第一个 PEP,「Python猫」一直有跟进社区最新动态的习惯,所以翻译了出来给大家尝鲜,强烈推荐一读.(PS:严格来说,zip() 是一个内置类(built-in type),而不是一个内置函数(built-in function),但我们一般都称它为一个内置函数.) PE

  • 容易被忽略的Python内置类型

    Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们. 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些"不同寻常"的内置类型. (注意:本文基于python3,不会包含任何python2相关内容) frozenset 不可变集合(frozenset)与普通的set一样,只不过它的元素是不可变的,因此诸如`add`,`remove`,`update`等可以添加/删除/改变集合内元素的方法是不存在的,换句话说一旦froz

  • Python实现扩展内置类型的方法分析

    本文实例讲述了Python实现扩展内置类型的方法.分享给大家供大家参考,具体如下: 简介 除了实现新的类型的对象方式外,有时我们也可以通过扩展Python内置类型,从而支持其它类型的数据结构,比如为列表增加队列的插入和删除的方法.本文针对此问题,结合实现集合功能的实例,介绍了扩展Python内置类型的两种方法:通过嵌入内置类型来扩展类型和通过子类方式扩展类型. 通过嵌入内置类型扩展 下面例子通过将list对象作为嵌入类型,实现集合对象,并增加了一下运算符重载.这个类知识包装了Python的列表,

  • Python扩展内置类型详解

    除了实现新的种类的对象以外,类有时有用于扩展Python的内置类型的功能.主要有以下两种技术: 通过嵌入扩展类型 下例把一些集合函数变成方法,而且新增了一些基本运算符重载,实现了新的集合对象.对于多数类而言,这个类只是包装了Python列表,以及附加的集合运算. #File setwrapper.py class Set: def __init__(self,value=[]):#构造函数 self.data = [] self.concat(value) def intersect(self,

  • python中类的输出或类的实例输出为<__main__类名 object at xxxx>这种形式的原因

    原因: __str__()这个特殊方法将对象转换为字符串的结果 效果图: 代码: # 定义一个Person类 class Person(object): """人类""" def __init__(self, name , age): self.name = name self.age = age p = Person('小黑',18) print(p) print('\n\n\n\n\n') # 定义一个Person类 class Person

  • Python判断一个文件夹内哪些文件是图片的实例

    如下所示: def is_img(ext): ext = ext.lower() if ext == '.jpg': return True elif ext == '.png': return True elif ext == '.jpeg': return True elif ext == '.bmp': return True else: return False 调用时 for x in os.listdir(directory): if is_img(osp.splitext(x)[1

  • Python 判断时间是否在时间区间内的实例

    判断时间是否在时间区间内 大家都知道 3<4<5这种连等式判断在python中是可行的 >>> 3<4<5 True 那么给定时间是否在时间区间内,也可以用连等式来判断 # 给定两个时间来比较下 >>> from datetime import datetime >>> a=datetime.now() >>> b=datetime.now() >>> a datetime.datetime(

  • Python Type Hints 学习之从入门到实践

    Python 想必大家都已经很熟悉了,甚至关于它有用或者无用的论点大家可能也已经看腻了.但是无论如何,它作为一个广受关注的语言还是有它独到之处的,今天我们就再展开聊聊 Python. Python 是一门动态强类型语言 <流畅的 Python>一书中提到,如果一门语言很少隐式转换类型,说明它是强类型语言,例如 Java.C++ 和 Python 就是强类型语言. Python 的强类型体现 同时如果一门语言经常隐式转换类型,说明它是弱类型语言,PHP.JavaScript 和 Perl 是弱类

随机推荐