python中的静态方法
class Calculator:
# create addNumbers static method
@staticmethod
def addNumbers(x, y):
return x + y
print('Product:', Calculator.addNumbers(15, 110))
staticmethod python
import random
class Example:
# A static method doesn't take the self argument and
# cannot access class members.
@staticmethod
def choose(l: list) -> int:
return random.choice(l)
def __init__(self, l: list):
self.number = self.choose(l)
python:@classmethod
class Float:
def __init__(self, amount):
self.amount = amount
def __repr__(self):
return f'<Float {self.amount:.3f}>'
@classmethod
def from_sum(cls, value_1, value_2):
return cls(value_1 + value_2)
class Dollar(Float):
def __init__(self, amount):
super().__init__(amount)
self.symbol = '€'
def __repr__(self):
return f'<Euro {self.symbol}{self.amount:.2f}>'
print(Dollar.from_sum(1.34653, 2.49573))
python中的静态方法
class Calculator:
def addNumbers(x, y):
return x + y
# create addNumbers static method
Calculator.addNumbers = staticmethod(Calculator.addNumbers)
print('Product:', Calculator.addNumbers(15, 110))
python classmethod
class point:
def __init__(self, x, y):
self.x = x
self.y = y
@classmethod
def zero(cls):
return cls(0, 0)
def print(self):
print(f"x: {self.x}, y: {self.y}")
p1 = point(1, 2)
p2 = point().zero()
print(p1.print())
print(p2.print())