[Baypiggies] What's the "Pythonic" way to access class attributes?

Craig Rodrigues rodrigc at freebsd.org
Tue Oct 11 13:51:34 EDT 2016


In various Python libraries and projects, I have seen that Foo.bar = 10
is the preferred convention, since as you mentioned, there are no
keywords in Python.

You may want to look at the Python attrs library, which offers some
ways to use classes with attributions:



On Tue, Oct 11, 2016 at 2:29 AM, Braun Brelin <bbrelin at gmail.com> wrote:

> Hello all,
> I just wanted to get the list's opinion on something.
> Since Python doesn't really have the concept of private and protected
> attribute access protections a la Java or C++ (Yes, I know you can use
> the __ and _ prefixes to declare something private or protected in
> Python, but that really only does name-mangling on the attribute name
> rather than explicitly disallow access to the attribute from outside the
> class), is it better to still access the attribute directly a la
> Foo.bar = 10 or use a setter/getter approach like Foo.setBar(10)?
> It seems to me that option one is better, especially if I can use a
> descriptor with the attribute.
> Any thoughts?
> Thanks,
> Braun Brelin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/baypiggies/attachments/20161011/aee25573/attachment.html>

More information about the Baypiggies mailing list