python学习笔记--面向对象(2)

  • 类变量和实例变量:类变量是和类关联在一起的(是定义在类中,且在方法之内的变量)、实例变量是和对象关联在一起(是定义在类中且在方法之内的变量)。
  • 实例变量的定义是:self.变量名(self是python建议使用,可以自定义,所以不属于关键字)
  • 类变量一般是不属于方法的变量名。(姓名、性别、班级人数、年龄:姓名性别年龄定义为实例变量,班级人数定义为类变量)
  • ‘__dict__’:可以查看当前对象下的所有变量,以字典形式存储
  • python寻找相关变量:尝试去寻找一个实例变量时,python首先在对象的实例变量里寻找是否有该变量,若没有则会在类变量里寻找同名变量,有则返回无则到父类里寻找。
    • 在实例方法中访问类变量(方法一、二)、在类中访问类变量、在方法中访问实例变量、在类中访问实例变量:python学习笔记--面向对象(2)_第1张图片(__class__代表的是类)
  • 类方法:操作和类有关的变量。类方法关注类本身,实例方法关注对象。
  • python学习笔记--面向对象(2)_第2张图片类调用类的方法
  •  可以使用静态方法的地方都可以使用类方法 静态方法没有类或函数传递进来,实质上和普通的函数没有区别,可以在静态方法内部访问类变量。当静态方法非常独立,和类和对象无多大关系时用静态方法。

  •  静态方法: @staticmethod 

                       def addxy   

  • 静态方法和类方法、实例方法的区别:1.静态方法没有强制默认传入一个指定的名字(self、cls)。

  •  可以同时被类和对象调用、内部可以访问 类变量python学习笔记--面向对象(2)_第3张图片

  • 不能在静态方法中访问实例变量,不能在类方法中访问实例变量python学习笔记--面向对象(2)_第4张图片

  •  

你可能感兴趣的:(python,Python)