[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Pylint false positives

On Mon, 20 Aug 2018 22:55:26 +0300, Marko Rauhamaa wrote:

> Dan Sommers <dan at tombstonezero.net>:
>> On Mon, 20 Aug 2018 14:39:38 +0000, Steven D'Aprano wrote:
>>> I have often wished Python had proper namespaces, so I didn't have to
>>> abuse classes as containers in this way :-(
>>> (Not that I do this using "inner classes", but I do often want to use
>>> a class as a container for functions, without caring about "self" or
>>> wrapping everything in staticmethod.)
>> Isn't that what modules are for?  (I suspect that I'm missing
>> something, because I also suspect that you knew/know that.)
> What's the syntax for creating an inner module...?

from types import ModuleType
m = ModuleType('m')
m.one = 1
m.a = 'a'
m.b = lambda x: x + one

except that not only doesn't it look nice, but it doesn't work because 
the m.b function doesn't pick up the m.one variable, but a global 
variable instead.

Steven D'Aprano
"Ever since I learned about confirmation bias, I've been seeing
it everywhere." -- Jon Ronson