Python中的一切皆对象

2018 年 10 月 12 日 • 阅读数: 130

Python中的一切皆对象

python对象的特点

  • 可以赋值给一个变量
  • 可以添加到集合对象中
  • 可以作为参数传递给函数
  • 可以作为函数的返回值
  • 对象的三个特征:身份(地址)、类型和值

type、object和class的关系

  • type可以生成类,类可以生成对象,所以说类其实也是一个对象
  • type -> class -> obj
  • object是最顶层的基类
  • type也是一个类,同时type也是一个对象
  • 所有的类都是type的实例,包括type本身也是type的实例
  • 所有的类都继承自object,包括type也是继承自object

type_object_class.png

a = 1
b = 'abc'
print(type(1))
print(type(int))
print(type(b))
print(type(str))
<class 'int'>
<class 'type'>
<class 'str'>
<class 'type'>
class Student(object):
    pass
class MyStudent(Student):
    pass
stu = Student()
print(type(stu))
print(type(Student))
print(int.__bases__)
print(str.__bases__)
print(Student.__bases__)
print(MyStudent.__bases__)
print(type.__bases__)
print(object.__bases__)
print(type(object))
<class '__main__.Student'>
<class 'type'>
(<class 'object'>,)
(<class 'object'>,)
(<class 'object'>,)
(<class '__main__.Student'>,)
(<class 'object'>,)
()
<class 'type'>

python 中常见内置类型

  • None(全局只有一个)
  • 数值(int、float、complex、bool)
  • 迭代类型
  • 序列类型(list、bytes、bytearray、memoryview、range、tuple、str、array)
  • 映射(dict)
  • 集合(set、frozenset)
  • 上下文管理类型(with)
  • 其他(模块,class和实例、函数、方法、代码、object对象、type类型、ellipsis类型、notimplemented类型)

。。。未完待续

标签: Python面向对象编程

召唤伊斯特瓦尔