Python-类属性实例属性

Posted april_aaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

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

以上是关于Python-类属性实例属性的主要内容,如果未能解决你的问题,请参考以下文章

在python中获取类和实例的属性

python 类属性与实例属性

在 Python 中,为啥属性优先于实例属性?

Python-类属性实例属性

python中类对象实例对象类属性实例属性类方法实例方法静态方法

Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法