12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- class Circle:
- PI = 3.14
- def __new__(cls, radius):
- cls.get_area = lambda self: self._radius**2 * self.PI
- cls.get_perimeter = lambda self: self.PI * self._diameter
- cls.get_radius = lambda self: self._radius
- cls.get_diameter = lambda self: self._diameter
- instance = super().__new__(cls)
- instance._radius = radius
- instance._diameter = 2 * radius
- return instance
- def test_1():
- circle_instance = Circle(3.5)
- print(f"Radius: {circle_instance.get_radius()}")
- print(f"Diameter: {circle_instance.get_diameter()}")
- print(f"Area: {circle_instance.get_area()}")
- print(f"Perimeter: {circle_instance.get_perimeter()}")
-
- #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- class BaseConfig:
- def __new__(cls, *args, **kwargs):
- instance = super(BaseConfig, cls).__new__(cls)
- instance.debug = False
- instance.log_level = "INFO"
- return instance
- class EmailConfig(BaseConfig):
- def __new__(cls, *args, **kwargs):
- instance = super().__new__(cls)
- instance.smtp_server = 'smtp.gmail.com'
- instance.smtp_port = 587
- instance.username = 'boss_of_gym@gmail.com'
- instance.password = ''
- return instance
- class DatabaseConfig(BaseConfig):
- def __new__(cls, *args, **kwargs):
- instance = super().__new__(cls)
- instance.db_host = '127.0.0.1'
- instance.db_port = 5432
- instance.db_name = 'cookies'
- instance.db_user = 'admin'
- instance.db_password = 'admin'
- return instance
- def test_2():
- email_config = EmailConfig()
- print("SMTP server Configuration:")
- print(f"Server: {email_config.smtp_server}")
- print(f"Port: {email_config.smtp_port}")
- print(f"User: {email_config.username}")
- print(f"Password: {email_config.password}")
- print(f"Debug: {email_config.debug}")
- print(f"Logger: {email_config.log_level}")
- def main():
- # test_1()
- test_2()
- if __name__ == '__main__':
- main()
|