( hg2ecz | 2020. 02. 15., szo - 12:24 )

Mert ott van definiálva a főprogramban az "a" változó. Ezt átveszi a függvény. Viszont ha megváltoztatod a függvényből az értékét, az nem megy vissza a főprogramba. Kivéve

def perform_strategy():
   global a
   a=5

esetben.
Látszik, hogy a Python nem egy szigorú nyelv. Ellenpéldaként próbáld meg ugyanezt Rust-ban. A globális változóra már eleve kiakad, legalábbis ha nem konstansként definiálod.