Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
yet another singleton solution in Clear category for Capital City by roman.bratishchev
from typing import Self
class Capital:
__only_Kyiv:Self=None
def __new__(cls, _) -> Self:
if not cls.__only_Kyiv: cls.__only_Kyiv=object.__new__(cls)
return cls.__only_Kyiv
def __init__(self, city_name:str) -> None:
if not hasattr(self, 'city_name'): self.city_name=city_name
def name(self) -> str: return self.city_name
if __name__ == "__main__":
# These "asserts" using only for self-checking and not necessary for auto-testing
ukraine_capital_1 = Capital("Kyiv")
ukraine_capital_2 = Capital("London")
ukraine_capital_3 = Capital("Marocco")
assert ukraine_capital_2.name() == "Kyiv"
assert ukraine_capital_3.name() == "Kyiv"
assert ukraine_capital_2 is ukraine_capital_1
assert ukraine_capital_3 is ukraine_capital_1
print("Coding complete? Let's try tests!")
Sept. 25, 2024
Comments: