Hi, I have been looking at various places to answer this dilemma:
If a class member function simply tests something and returns a b::oolean call it def is_<whatever_you_are_testing_for>(): pass like 'is_even'. Should I define it as a classic method def is_even(self): pass or as a property @property def is_even(self): pass The question above is based on similar question I found [1], but that one is specifically about naming. I'm trying to solve the aspect of implementation of such predicate. I've looked into the Python 3.4 libs and most of such functions is realised as a classic method, but in several cases they are defined with @property decorator, for example: email.message.MIMEPart.iis_attachment ipaddress._BaseNetwork.is_multicast ipaddress._BaseNetwork is_reserved and a few more. So, a classic method or a property, which one is the Pythonic 3 way for such member predicates? [1] *Naming Conventions* by Thorsten Kampe https://mail.python.org/pipermail/python-list/2007-June/438156.html Best regards, -- Mateusz Loskot, http://mateusz.loskot.net -- https://mail.python.org/mailman/listinfo/python-list