Python-类属性、实例属性

2021-04-19 15:27

阅读:346

标签:col   python   int   assm   有关   ssm   区别   pytho   self   

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-类属性、实例属性

标签:col   python   int   assm   有关   ssm   区别   pytho   self   

原文地址:https://www.cnblogs.com/april-aaa/p/13289253.html


评论


亲,登录后才可以留言!