python 类属性和类方法

Posted 华北业余选手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 类属性和类方法相关的知识,希望对你有一定的参考价值。

概念和使用

  • 类属性 就是给 类对象 中定义的 属性
  • 通常用来记录 与这个类相关 的特征
  • 类属性 不会用于记录 具体对象的特征
class Tool(object):

    # 使用赋值语句,定义类属性,记录创建工具对象的总数
    count = 0

    def __init__(self, name):
        self.name = name

        # 针对类属性做一个计数+1
        Tool.count += 1


# 创建工具对象
tool1 = Tool("斧头")
tool2 = Tool("榔头")
tool3 = Tool("铁锹")

# 知道使用 Tool 类到底创建了多少个对象?
print("现在创建了 %d 个工具" % Tool.count)

 

类方法语法

@classmethod
def 类方法名(cls):
    pass

 

静态方法语法

@staticmethod
def 静态方法名():
    pass

 

  1. 实例方法 —— 方法内部需要访问 实例属性
    • 实例方法 内部可以使用 类名. 访问类属性
  2. 类方法 —— 方法内部  需要访问 类属性
  3. 静态方法 —— 方法内部,不需要访问 实例属性 和 类属性

提问

如果方法内部 即需要访问 实例属性,又需要访问 类属性,应该定义成什么方法?

答案

  • 应该定义 实例方法
  • 因为,类只有一个,在 实例方法 内部可以使用 类名. 访问类属性

以上是关于python 类属性和类方法的主要内容,如果未能解决你的问题,请参考以下文章

Python_016(面向对象之属性和类方法)

新手入门学Python基础—多态类属性和类方法

python 类属性和类方法

Python类属性和类方法

Python面向对象 --- 新旧式类私有方法类属性和类方法静态方法

python 之实例属性和类属性