Meus caros, no mundo Python, qual é a boa prática? Usar properties ou getters e setters? Gostaria também de uma boa referência para boas práticas de programação em Python.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Meus caros, no mundo Python, qual é a boa prática? Usar properties ou getters e setters? Gostaria também de uma boa referência para boas práticas de programação em Python.
Oi Wildener, como você está? Espero que esteja bem ^-^
A maneira "pythônica" é utilizar properties. Mas, pode ter casos onde você precise somente de um setter, então terá que utilizar uma função sem o decorator setter, pois a utilização de um decorator setter exige a implementação de um decorator de getter. Por exemplo:
# funciona como esperado (utilizando apenas a property de getter)
class Livro:
def __init__(self, titulo):
self._titulo = titulo
@property
def titulo(self):
return self._tituloJá no exemplo abaixo, teremos um erro dizendo que a property getter de titulo não foi definida:
class Livro:
def __init__(self, titulo):
self._titulo = titulo
@titulo.setter
def titulo(self, novo_titulo):
self._titulo = novo_tituloA ordem também é importante, uma property de getter deverá vir primeiro que uma property de setter.
Em relação a boas práticas de estilização, recomendo que você leia a respeito do guia de estilo de código Python(PEP8), nele é exemplificado sobre nomenclaturas, convenções, dentre outros.
Quanto a boas práticas de código, recomendo duas leituras:
O livro "Python Fluente", onde o autor discute boas práticas de codificação em Python, tratando abordagens idiomáticas, concisas e eficientes de programação com a linguagem.
O livro "Código Limpo"(Clean Code). Ele não é focado em uma linguagem em específico, mas trata a respeito de boas práticas de código no geral, pois o que muda de uma linguagem para outra são sintaxes e o modo de fazer determinadas coisas, mas o conceito em si permanece.
Qualquer dúvida estou por aqui.
Abraços e bons estudos!
Perfeito, Nádia! Vou anotar os livros e o guia de estilo aqui para leitura em tempo oportuno. A propósito, estou seguindo seu plano de estudo para a linguagem Python.
Grato pela atenção e um abraço.