Bootstrap

Python中的类属性和实例属性及对其的访问

类属性和实例属性的说明:

实例对象:通过类创建的对象

类属性:类对象所拥有的属性

实例属性:实例对象所特有的属性,类对象不能拥有,不能通过类对象来调用。它可以放在构造方法--init--()中,也可以在创建实例对象后进行绑定。

Eg:class Dog :

         def --init--(self,name):

                 self.name=name

      d1=Dog("大黄")

      print(d1.name)

Eg:class Dog:

          def --init--(self):

               self.name="大黄"

    d1=Dog()

    print(d1.name)

实例属性和类属性的访问:

实例属性只能通过实例名来访问,不能通过类名访问。

类属性既可以通过类名访问,也可以通过实例名访问。

如一下实例:按照实例属性的方式分别打印出类属性和实例属性,要求打印的类属性为9,实例属性为5;按照类属性的方式打印出所以属性,要求打印的类属性值为6

Eg:class Num:

         count=6

#count是类属性

#下面的num是实例属性

        def --init--(self,num):

              self.num=num

     num1=Num(5)

     num1.count=9

#可以通过实例更改类属性的值,例如上面通过实例将类属性更改为了9,但是通过类访问count的值,是不会改变的,还是原来的5

   print("用实例名访问的实例属性为:",num1.num)

  print("用实例名访问的类属性为:",num1.count)

print("按照类属性的方式打印出的类属性为:",Num.count)

#这里访问到的类属性的值还是原来的值5

#实例属性只能通过实例名来访问


    运行结果为:

用实例名访问的实例属性为:5

用实例名访问的类属性为:9

按照类属性的方式打印出的类属性为:6

注:实例属性和类属性一般不要使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性。

也可参考:

【python 实例属性和类属性-哔哩哔哩】 https://b23.tv/Z5BYIOa

;