PY3.E0115
Nonlocal and global
Emitted when a name is both nonlocal and global.
Noncompliant Code:
Copy
MSG = 'Outside'
def foo():
def bar():
nonlocal MSG
global MSG
MSG = 'Inside'
bar()
print(MSG)
Compliant Code:
Copy
MSG = 'Outside'
def foo():
global MSG
MSG = 'Inside'
msg = 'Outside'
def bar():
nonlocal msg
msg = 'Inside'
bar()
print(MSG)
print(msg)