[Python] Zmienne lokalne

0

W ramach eksperymentów napisałem taki kod:

def f(x):
   a=22
   def h(y):
      a=33
      f.a=44
      print locals()  # {'a':33, 'y': 100}
   h(100)
   print locals()  # {'a': 22, 'x': 0, 'h': <function h at ...>
   print f.a # 44
f(0) 

I mam pytanie, czym jest f.a ? Zmienną lokalną dla h, zmienną lokalną dla f, czym innym ?

0

Poprzez f.a odwolujesz sie do slownika funkcji (moje tlumaczenie, moze byc niepoprawne). Poszukaj hasla func_dict.

0

Dzięki, Twoje tłumaczenie jest dobre:

f.__dict__  # {'a': 44}

1 użytkowników online, w tym zalogowanych: 0, gości: 1