Python-类属性、实例属性

1. 类的三大要素:类名、属性、方法

属性又分为实例属性和类属性

1 class Tool(object):
2     #属性
3     num=0
4 
5     #方法
6     def __init__(self,new_name):
7         self.name = new_name

写在__init__中的是实例属性,也是通过方法定义的,是跟着实例对象的

写在类下面,def外面的,是类属性,Tool 称为类对象

2. 类属性和实例属性区别:实例对象间不能互相共享他们的实例属性,类对象可以在实例对象中共享(类属性只在定义类的时候定义一次)

3. 类属性的使用:

在实例方法中调用类方法时,使用 Tool.num += 1 

类外面使用时,可以用  Tool.num ,也可以用  tool1 = Tool('钳子') tool1.num  来使用类属性

4. 几种方法:

  • 实例方法:常见的带 self 的方法都是实例方法
  • 类方法:
    class Game(object):
    
        @classmethod
        def add_num(cls):
            cls.num = 100
    
    #调用
    game = Game()
    game.add_num()
    Game.add_num()

    类方法的调用和类属性的调用一样,可以用类名,也可以用实例化的对象调用

  • 静态方法:为了使一个文件中的格式看起来尽量统一(类和函数不混着用),将一些功能独立的函数(与类和实例都没有关系),这时候可以使用静态方法 @staticmethod,区别是既不需要用 self 也不需要用 cls
    class Game(object):
        @staticmethod
        def print_info():
            print('------------')
            print('随便打印点什么')
            print('------------')
    
    #调用
    game = Game()
    game.print_info()
    Game.print_info()

    静态方法的调用也是既可以用类名直接调用,也可以用实例对象调用

posted @ 2020-07-12 18:09  april_aaa  阅读(209)  评论(0编辑  收藏  举报