gpt4 book ai didi

python : Difference between static methods vs class method

转载 作者:太空狗 更新时间:2023-10-30 01:09:50 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
What is the difference between @staticmethod and @classmethod in Python?

  • 我正在学习 python 中的 OOP,并开始了解这两种方法
  • 语法上的区别似乎是类方法隐式传递了它们所属的类作为它们的第一个参数
class Circle:
all_circles = [] # class variable

@staticmethod
def total_area():
for c in Circle.all_circles: # hardcode class name
# do somethig

@classmethod
def total_area(cls):
for c in cls.all_circles: # no hardcode class name
# do something

我认为类方法更灵活,因为我们不对类进行硬编码

问题:
- 这甚至是一个更好的问题吗? @staticmethod 还是@classmethod?
- 适合使用这些方法中的每一种的场景是什么?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com