Gebruik van “algemeen” trefwoord in Python

| | |

Wat ik begrijp uit het lezen van de documentatie is dat Python een aparte naamruimte heeft voor functies, en als ik een globale variabele in die functie wil gebruiken, moet ik global gebruiken.

Ik gebruik Python 2.7 en ik heb deze kleine test geprobeerd

>>> sub = ["0", "0", "0", "0"] >>> def getJoin(): ... return ".".join(sub) ... >>> getJoin() "0.0.0.0" 

Het lijkt erop dat alles goed werkt, zelfs zonder global. Ik had zonder enig probleem toegang tot de globale variabele.

Mis ik iets? Ook het volgende komt uit de Python-documentatie:

Namen die in een globale instructie worden vermeld, mogen niet worden gedefinieerd als formele parameters of in een for loop-besturingsdoel, klassedefinitie, functiedefinitie of importinstructie.

Hoewel formele parameters en klassedefinitie voor mij logisch zijn, kan ik de beperking op de doel- en functiedefinitie van de for-lusbesturing niet begrijpen.