356 Stimmen

Warum ist das Schlüsselwort "global" nicht erforderlich, um auf eine globale Variable zuzugreifen?

Nach meinem Verständnis hat Python einen separaten Namensraum für Funktionen, wenn ich also eine globale Variable in einer Funktion verwenden möchte, sollte ich wahrscheinlich global .

Allerdings konnte ich auf eine globale Variable auch ohne global :

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

Habe ich etwas übersehen?

0voto

ikostia Punkte 6867

Das bedeutet, dass Sie Folgendes nicht tun sollten:

x = 1

def myfunc():
  global x

  # formal parameter
  def localfunction(x):
    return x+1

  # import statement
  import os.path as x

  # for loop control target
  for x in range(10):
    print x

  # class definition
  class x(object):
    def __init__(self):
      pass

  #function definition
  def x():
    print "I'm bad"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X