Um tópico bastante interessante (porém curto) na orientação a objetos no Python são as properties. Elas são responsáveis por encapsular o acesso à variáveis das nossas classes, fazendo assim um design de classes mais completo, onde você pode ter algum processamento interno e só expor o que é adequado nas API's públicas de suas classes. Então vamos lá entender o que são elas e como usá-las.