|
@@ -0,0 +1,120 @@
|
|
|
+
|
|
|
+class BankAccount:
|
|
|
+
|
|
|
+ def __init__(self, name, balance):
|
|
|
+ self.name = name
|
|
|
+ self.__balance = balance
|
|
|
+
|
|
|
+ @property
|
|
|
+ def my_balance(self):
|
|
|
+ return self.__balance
|
|
|
+
|
|
|
+ @my_balance.setter
|
|
|
+ def my_balance(self, value):
|
|
|
+ if not isinstance(value, (int, float)):
|
|
|
+ raise ValueError('Баланс должен быть числом')
|
|
|
+
|
|
|
+ @my_balance.deleter
|
|
|
+ def my_balance(self):
|
|
|
+ del self.__balance
|
|
|
+
|
|
|
+
|
|
|
+class MagicBox:
|
|
|
+ def __init__(self, contents=None):
|
|
|
+ self._contents = contents
|
|
|
+
|
|
|
+ @property
|
|
|
+ def contents(self):
|
|
|
+ if self._contents == "rabbit":
|
|
|
+ return "A magical rabbit!"
|
|
|
+ else:
|
|
|
+ return self._contents
|
|
|
+
|
|
|
+ @contents.setter
|
|
|
+ def entity(self, new_contents):
|
|
|
+ if new_contents == "wishes":
|
|
|
+ print("Your wishes are granted!")
|
|
|
+ self._contents = new_contents
|
|
|
+ else:
|
|
|
+ print("the magic didn't work this time.")
|
|
|
+ self._contents = new_contents
|
|
|
+
|
|
|
+
|
|
|
+class Celsius:
|
|
|
+
|
|
|
+ def __init__(self, temp) -> None:
|
|
|
+ self.__temperature = temp
|
|
|
+
|
|
|
+ def to_fahrenheit(self):
|
|
|
+ return self.__temperature*9/5 + 32
|
|
|
+
|
|
|
+ @property
|
|
|
+ def temperature(self):
|
|
|
+ return self.__temperature
|
|
|
+
|
|
|
+ @temperature.setter
|
|
|
+ def temperature(self, value):
|
|
|
+ if value < -273.15:
|
|
|
+ raise ValueError("Температура должна быть больше 273.15")
|
|
|
+ else:
|
|
|
+ self.__temperature = value
|
|
|
+
|
|
|
+
|
|
|
+class File:
|
|
|
+
|
|
|
+ def __init__(self, size_in_bytes):
|
|
|
+ self._size_in_bytes = size_in_bytes
|
|
|
+
|
|
|
+ @property
|
|
|
+ def size(self):
|
|
|
+ if self._size_in_bytes < 1024:
|
|
|
+ return f"{self._size_in_bytes} B"
|
|
|
+ elif self._size_in_bytes < 1048576:
|
|
|
+ return "%.2f KB" % (self._size_in_bytes/1024.0)
|
|
|
+ elif self._size_in_bytes < 1073741824:
|
|
|
+ return "%.2f MB" % (self._size_in_bytes/1048576.0)
|
|
|
+ else:
|
|
|
+ return "%.2f GB" % (self._size_in_bytes/1073741824.0)
|
|
|
+
|
|
|
+ @size.setter
|
|
|
+ def size(self, value):
|
|
|
+ self._size_in_bytes = value
|
|
|
+
|
|
|
+
|
|
|
+class Notebook:
|
|
|
+
|
|
|
+ def __init__(self, notes: list):
|
|
|
+ self._notes = notes
|
|
|
+
|
|
|
+ @property
|
|
|
+ def notes_list(self):
|
|
|
+ for i, j in enumerate(self._notes):
|
|
|
+ print(f"{i+1}.{j}")
|
|
|
+
|
|
|
+def main():
|
|
|
+ # acc = BankAccount('Ivan', 200)
|
|
|
+ # print(acc.my_balance)
|
|
|
+
|
|
|
+ note = Notebook(['Buy Potato', 'Buy Carrot', 'Wash car'])
|
|
|
+ note.notes_list
|
|
|
+
|
|
|
+ '''
|
|
|
+ box = MagicBox("rubies")
|
|
|
+ print(box.contents)
|
|
|
+ print(box._contents)
|
|
|
+ box.entity = "wishes"
|
|
|
+ print(box._contents)
|
|
|
+ print(box.entity)
|
|
|
+ '''
|
|
|
+
|
|
|
+ '''
|
|
|
+ cel = Celsius(12.0)
|
|
|
+ cel.temperature = 15
|
|
|
+ cel.temperature = -300
|
|
|
+ print(cel.temperature)
|
|
|
+ '''
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ main()
|