python中的一切皆对象
python中一切皆对象是这个语言灵活的根本。 一、type/object/class1.type和class>>> a = 1 >>> type(a) <class ‘int‘> >>> type(int) <class ‘type‘> >>> b = "123" >>> type(b) <class ‘str‘> >>> type(str) <class ‘type‘> >>> c = [1,2,3] >>> type(c) <class ‘list‘> >>> type(list) <class ‘type‘> >>> d = (1,3) >>> type(d) <class ‘tuple‘> >>> type(tuple) <class ‘type‘> >>> d = {"name":"kebi","age":18} >>> type(d) <class ‘dict‘> >>> type(dict) <class ‘type‘> 在python中基础数据类型有:字符串、数字、元组、列表、字典、集合等 >>> def func(): ... pass ... >>> type(func) <class ‘function‘> >>> type(func()) <class ‘NoneType‘> >>> type(function) Traceback (most recent call last): File "<stdin>",line 1,in <module> NameError: name ‘function‘ is not defined 问题: >>> class Person: ... pass ... >>> type(Person) <class ‘type‘> >>> type(Person()) #对象由类创建 <class ‘__main__.Person‘> 既然type创造了如此多的类,那么type是怎么来的? >>> type(type) <class ‘type‘> #自己创造自己 在python中,type有两个功能: 2.object>>> print(int.__bases__) (<class ‘object‘>,) >>> print(str.__bases__) (<class ‘object‘>,) >>> print(Person.__bases__) #默认继承object (<class ‘object‘>,) >>> class AnluPerson(Person): ... pass ... >>> print(AnluPerson.__bases__) (<class ‘__main__.Person‘>,) object是最顶层的基类。 >>> print(type.__bases__) #type的父类是object (<class ‘object‘>,) >>> type(object) #object又是由type创造出来的 <class ‘type‘> >>> print(object.__bases__) () >>> type(type) #type自己创造自己 <class ‘type‘> ? 关于type、object、class之间的关系示意图: 在python中,基础数据类型的类都是type的实例,type自生也是type的实例。 ? 二、python中常见的数据类型1.None 全局只有一个2.数值? int? float? complex? bool3.迭代类型4.序列类型? list? bytes、bytearray、memoryview(二进制序列)? range? tuple? str? array5.映射(dict)6.集合类型 dict与set实现原理相似,性能很高? set? frozenset7.上下文管理类型(with)8.其它? 模块类型? class和实例? 函数类型? 方法类型? 代码类型? object类型? type类型? ellipsis类型(省略号)? notimplemented类型 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |