The statement Car(1000).price = 100 will cause an exception because there's no setter defined for the property price. The expression Car(1000)._price will be evaluated to 1000 The statement Car(1000)._price = 100 will cause an exception because Python interpreter will not allow access to an attribute that start with a single underscore _