Классы

class ClassProperty(property):
    def __get__(selfcls, owner):
        return self.fget.__get__(None, owner)()


class Config:
    __port = 1

    # class field
    host = "10.0.0.1"

    # class port property
    def get_port(cls):
        return cls.__port

    get_port = classmethod(get_port)

    def set_port(cls, value):
        cls.__port = value

    set_port = classmethod(set_port)
    port = ClassProperty(get_port, set_port)

    @classmethod
    def get_connection(cls):
        return f"{cls.host}:{cls.port}"


Config.port = 52
connection1 = Config.get_connection()
# connection1 is "10.0.0.1:52"

Config.host = "10.0.0.3"
connection2 = Config.get_connection()
# connection2 is "10.0.0.3:52"

print(connection1)
print(connection2)