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.

Nos dias atuais com o Python servindo para vários proprósitos fica difícil trabalhar com projetos de diversos seguimentos sem gerenciar todas as duas dependências, e ainda mais quem for iniciante no python e está querendo organizar seus projetos. Nesse posto pretendo explicar o necessário para você saber trabalhar com ambientes virtuais mais tranquilamente e sanar dúvidas que ainda existam.