值是对象属性,还是值本身是对象?

时间:2019-04-30 08:37:30

标签: python class oop object

例如a=5,它会创建一个值5的int对象还是5是对象本身?

让我们参加一个员工培训班。当我们实例化e1=employee("Rakesh","Singh", 6000)时,它将创建一个具有属性e1fname=Rakeshlname= Singh的雇员对象Pay=6000
但是在上述情况下,我们可以说e1等于5(因为它们都是不同类的实例)还是e1等效于值为5的int对象?

我很困惑,值本身是对象还是属性?

1 个答案:

答案 0 :(得分:2)

Python是动态类型化的,以后可以在程序中将变量名分配给不同的数据类型。

当宣布a = 5

  1. 将创建一个值5的整数对象(请注意,Python中的intstr是不可变的对象。您不能将新值分配给如果这样做,则会创建新的对象(不一定要重用具有相同值的现有对象)。

  2. 5个int对象和名称a已绑定。

  3. a只是指向该对象的引用/指针。首选参考术语,因为您不能像C语言那样执行指针数学之类的操作。引用是对象的别名。

因此,5是一个值5的int对象,由名称/引用a引用。

除此之外,Python中的所有内容实际上都是一个对象。包括函数,类,异常等。

一个对象可以具有一个或多个属性。在Python中,每个属性也是一个对象。