Hi,

If I run this code:
class Property:

    def __init__(self, var: int):
        self.a: int = var

    @property
    def a(self):
        return self.__a

    @a.setter
    def a(self, var: int):
        if var > 0 and var % 2 == 0:
            self.__a = var
        else:
            self.__a = 2

if __name__ == '__main__':
    x = Property(1.5)
    print(x.a)

I am getting 2.
How come, if I have created a class with :int in order to ensure that "a" 
property must be an integer, that I can create an instance with float (1.5)?

Regards.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to