On 04.09.2015 18:55, t...@freenet.de wrote:
 From knowing e.g Java as OO language I had no need to set
such a keyword "global" to get write access to class members.

It is true and I really dislike Java for having this. Please consider this

class MyClass:
    @classmethod
    def method(cls):attribute = 'a'         cls.myattribute = 1234


As you see, even when using a class for the purpose, you still need to reference the class object somehow.

And now the main point: Cause all of the features and especially
the singleton construct, I could not believe that Python
does nearly all for me but forces me then to use such
a "ugly" keyword "global" in comparison to other OO languages.

It is ugly, that is true. Would something like this help you?

@modulemethod
def method(mod):
    attribute = 'a'
    mod.myattribute = 123


Works like classmethod but on module level. You still need to explicitly specify from which namespace you want myattribute but that's the Python way I think. It applies to instance methods, class methods and all other types of Python code.

But I agree, I should have better never mentioned it.
Please lay  OO and sharing globals aside.

It is really about procedural programming and "global"-keyword only.
That said I will really give no longer any comments about this.

That is sad. :(
I at least would like to know if my suggestion would help? :)

Best,
Sven

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to