<p>Suppose I have a class with some attributes. How is it best (in the Pythonic-OOP) sense to access these attributes ? Just like <code>obj.attr</code> ? Or perhaps write get accessors ? 
What are the accepted naming styles for such things ?</p>

<p><strong>Edit:</strong>
Can you elaborate on the best-practices of naming attributes with a single or double leading underscore ? I see in most modules that a single underscore is used.</p>

<hr>

<p>If this question has already been asked (and I have a hunch it has, though searching didn't bring results), please point to it - and I will close this one.</p>

I think most just access them directly, no need for get/set methods.
```
```
>>> class myclass:
...     x = 'hello'
...
>>>
>>> class_inst = myclass()
>>> class_inst.x
'hello'
>>> class_inst.x = 'world'
>>> class_inst.x
'world'
```
```
BTW, you can use the dir() function to see what attributes/methods are attached to your instance:
```
```
>>> dir(class_inst)
['__doc__', '__module__', 'x']
```
```
Two leading underbars, "__" are used to make a attribute or function private.
For other conventions refer to PEP 08:
http://www.python.org/dev/peps/pep-0008/