Hi,
In this piece of code:
class RefrigeratedShippingContainer(ShippingContainer):
MAX_CELSIUS = 4.0
def __init__(self, owner_code, contents, celsius):
super().__init__(owner_code, contents)
if celsius > RefrigeratedShippingContainer.MAX_CELSIUS:
raise ValueError("Temperature too hot!")
self._celsius = celsius
@staticmethod
def _c_to_f(celsius):
return celsius * 9/5 + 32
@staticmethod
def _f_to_c(fahrenheit):
return (fahrenheit - 32) * 5/9
@staticmethod
def _make_bic_code(owner_code, serial):
return iso6346.create(owner_code=owner_code,
serial=str(serial).zfill(6),
category='R')
@property
def celsius(self):
return self._celsius
@celsius.setter
def celsius(self, value):
if value > RefrigeratedShippingContainer.MAX_CELSIUS:
raise ValueError("Temperature too hot!")
self._celsius = value
@property
def fahrenheit(self):
return RefrigeratedShippingContainer._c_to_f(self.celsius)
@fahrenheit.setter
def fahrenheit(self, value):
self.celsius = RefrigeratedShippingContainer._f_to_c(value)
If I call `_c_to_f`, `_f_to_c` methods on `self` instead of
`RefrigeratedShippingContainer` class object, still it works. So what is the
reason behind of this calling on the class object, instead class instance
object?
Thanks,
Arup Rakshit
[email protected]
--
https://mail.python.org/mailman/listinfo/python-list