LINUX.ORG.RU

История изменений

Исправление tz4678, (текущая версия) :

В питоне модуль - это инстанс класс module. Это объект.

/tmp via 🐍 v3.10.0 
➜ echo 'FOO = "bar"' > foo.py                  

/tmp via 🐍 v3.10.0 
➜ printf 'import foo\nfoo.FOO = "bar"' > bar.py

/tmp via 🐍 v3.10.0 
➜ printf 'import foo; import bar; print(foo.FOO)' > baz.py

/tmp via 🐍 v3.10.0 
➜ python baz.py                                           
bar

Т.е. и одиночка и паттерн Registry… Короче что хочешь твори, если конечно твой мозг не успела поразить джава, тогда ты начнешь все это говно лепить с фабриками, синглтонами…. Последнее действительно воообще почти не встречается. Я такой код видел только в своей бывшей конторе: там идиот прочитал книгу по паттернам для Java… и решил все их реализовать на Python, а потом свалил в закат чтобы писать на форке PHP3 (тот который был без ООП) во Вкунтакте

Исправление tz4678, :

В питоне модуль - это инстанс класс module. Это объект.

/tmp via 🐍 v3.10.0 
➜ echo 'FOO = "bar"' > foo.py                  

/tmp via 🐍 v3.10.0 
➜ printf 'import foo\nfoo.FOO = "bar"' > bar.py

/tmp via 🐍 v3.10.0 
➜ printf 'import foo; import bar; print(foo.FOO)' > baz.py

/tmp via 🐍 v3.10.0 
➜ python baz.py                                           
bar

Исходная версия tz4678, :

В питоне модуль - это инстанс класс module. Это объект.

/tmp via 🐍 v3.10.0 
➜ printf 'import foo\nfoo.BAR = "baz"' > foo.py

/tmp via 🐍 v3.10.0 
➜ echo 'FOO = "bar"' > foo.py                  

/tmp via 🐍 v3.10.0 
➜ printf 'import foo\nfoo.FOO = "bar"' > bar.py

/tmp via 🐍 v3.10.0 
➜ printf 'import foo; import bar; print(foo.FOO)' > baz.py

/tmp via 🐍 v3.10.0 
➜ python baz.py                                           
bar