python的静态成员变量、实例成员变量、静态方法、类方法、实例方法

静态成员变量(类变量)和普通成员变量(实例变量)

  静态成员变量只能通过类名.变量名获得,实例成员变量,通过该实例引用.变量名获得。

  在实例对静态成员变量赋值时,实例

  python是动态类型的语言,没有特别的标志区分静态成员变量和普通成员变量

  如果你使用类名.成员变量    那这个成员变量现在就是静态成员变量(类变量)

  如果你使用实例.成员变量    那这个成员变量现在就是普通成员变量(实例变量)

  实例变量的值是什么时候初始化的,实例变量并不是构造对象的时候初始化的,而是在第一次通过对象调用该实例变量的
  时候,从类变量此时的值拷贝过来的,此后便互不影响。


静态方法、类方法、实例方法
 
   实例方法,类中的普通方法,由实例调用

   类方法,被@classmethod装饰的方法,类对象和实例都可以调用类方法

   静态方法,被@staticmethod装饰的方法,类对象和实例都可以调用静态方法,静态方法不会对任何实例造成影响

   实例方法和类方法的区别是,实例方法的第一个参数是self(实例本身),类方法的第一个参数是cls(类对象本省)

   注意:这里的类对象和实例对象的意思是 type(类名)---classobj
                                           type(实例名)-instance

   个人感觉静态的概念在python中真的没多大用 ,因为这是个动态语言。

  
 

你可能感兴趣的:(python的静态成员变量、实例成员变量、静态方法、类方法、实例方法)