Ik ben voor een project van mijn opleiding aan het klooien in Python. Ik zit nu met het volgende rare probleem.
Ik heb een module met een variabele, en die variabele wil ik vanuit een andere module kunnen setten. Ik wil het liefste natuurlijk deze variabele afschermen en de set via een functie laten doen, maar Python's namespaces zitten me daar behoorlijk bij te irriteren.
Testopstelling:
module 1, bla.py:
module 2 bla2.py
uitvoer:
Een andere oplossing die ik zou kunnen doen is een class maken in die module, daar een static method op maken etc, maar dat vind ik nogal overhead voor zoiets simpels.
Misschien dat ik niet in de goede "mindset" zit met Python ofzo, dit is dan ook mn eerste keer dat ik in aanraking kom met deze taal. Iemand enige ideeen?
Ik heb een module met een variabele, en die variabele wil ik vanuit een andere module kunnen setten. Ik wil het liefste natuurlijk deze variabele afschermen en de set via een functie laten doen, maar Python's namespaces zitten me daar behoorlijk bij te irriteren.
Testopstelling:
module 1, bla.py:
Python:
1
2
3
4
5
6
7
| testVar = "bla" def setTest(t): testVar = t def showTest(): print testVar |
module 2 bla2.py
Python:
1
2
3
4
5
6
7
8
9
| import bla #dit werkt dus niet. bla.setTest("bla2") bla.showTest() #dit werkt wel, maar ik wil testVar graag private maken, en dan kan dit natuurlijk niet. bla.testVar = "bla" bla.showTest() |
uitvoer:
code:
1
2
| bla bla2 |
Een andere oplossing die ik zou kunnen doen is een class maken in die module, daar een static method op maken etc, maar dat vind ik nogal overhead voor zoiets simpels.
Misschien dat ik niet in de goede "mindset" zit met Python ofzo, dit is dan ook mn eerste keer dat ik in aanraking kom met deze taal. Iemand enige ideeen?
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info