################### Scope ####################
enemies = 1
def increase_enemies():
enemies = 2
print(f"enemies inside function: {enemies}")
increase_enemies()
print(f"enemies outside function: {enemies}")
Local scope
it exists in functions
When you create a variable or function in a def function, it can only be accessible in the def function.
Global scope
Any variable or function you create has a namespace.
while loop/if 都不存在block scope
How to modify ?
def increase_enemies():
global enemies
enemies = 2
print(f"enemies inside function: {enemies}")
The reason global variables are bad is that they enable functions to have hidden (non-obvious, surprising, hard to detect, hard to diagnose) side effects, leading to an increase in complexity, potentially leading to Spaghetti code.
但其实如果global scope 离 我么的local很近的话并不影响,还是可以使用的。
Instead:
def increase_enemies():
enemies = 2
return enemies+1
enemies = increase_enemies()
Python constants and glocal scopes
#Global Constants
PI = 3.14159
URL = "https://www.google.com"
TWITTER_HANDLE = "@yu_angela"