a=84 def not_that_global(): a=42 def b(a): class wtf(): a = a return wtf print(b(21).a) def b(): a="local" class wtf(): a = a return wtf print(b().a) def b(a): class wtf(): lol = a return wtf print(b(21).lol) def b(a): def wtf(): return dict(a=a) return wtf print(b(21)()) def b(): a="local" def wtf(): return dict(a=a) return wtf print(b()()) def b(a): def wtf(): return dict(lol=a) return wtf print(b(21)()) not_that_global()