关于Python对象的定义



Python是使用对象模型来存储数据的。构造任何类型的值其实都是一个对象。

关于Python对象的特性



所有python对象都拥有三个特性:身份、类型、值。

身份:



每个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数 id() 来得到。

类型:



对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以使用 type() 函数查看python对象的类型。type()返回的是对象而不是简单的字符串。

值:



对象表示的数据。


请看以下例子:




一般is用来比较两个对象的id是不是相同的,测试身份的:


if  a is b:
    return a and b have the same id 
#比较值
if  a == b:
  return a==
b
#比较类型
if typea== typeb):
 return 类型相同


总结



在python中一切都是对象,每个对象都有三个属性分别是,(id)身份,就是在内存中的地址,类型(type),是int、字符、字典(dic)、列表(list)等值,例如: a = 12 就是用12这个类型为整数的,值为12,在内存空间中创建了一个空间(这个空间会用一个地址来表示,就是id),当对象被创建后,如果该对象的值可以被更改,那么就称之为可变对象(mutable),如果值不可更改,就称之为不可变对象(inmutable),如果某个对象包含对其他的对象的引用的话,就称之为容器或者集合。

如何理解类与对象



例如智能手机就是一个类(class),它就是某类对象的统称,而你手上的这部iPhone8就是属于智能手机这个类(class)的一个具体实例或者对象对象(object)。


事实上,先定义一个类(class),并初始化它的域和方法,然后从属于它的具体对象(object)通过调用这个类的域和方法,即可得到目标值。这其实是模块化设计的体现。

在具体对象较多时,先自定义一个类(或超类加子类的继承类)封装,然后各对象自行调用,可以高效地完成不同对象的目标实现(避免多个对象的重复代码)。

right