Python Forum
Understanding Scoping in Python
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Understanding Scoping in Python
#6
There are three different spam variables. A local spam, within do_local(), a local spam, within scope_test() (which is non-local for enclosed functions), and a global spam, which doesn't exist until after do_global() is called. do_global() creates a new variable in the global scope, but it doesn't change any of the other spams that already exist in other scopes. After do_global() is called, referencing spam uses the local version, which is set to "nonlocal spam" at that time.

If print(spam) were to return "global spam", that would violate scoping, as there's a local spam that exists.

...and that's why you avoid having variables with the same name. It adds unneeded confusion. It's highly unlikely that all three of those refer to the same thing, which means they're all poor choices for a variable name, as none actually describe what a spam is.
Reply


Messages In This Thread
Understanding Scoping in Python - by yksingh1097 - Aug-06-2018, 10:26 AM
RE: Understanding Scoping in Python - by Windspar - Aug-06-2018, 02:24 PM
RE: Understanding Scoping in Python - by Windspar - Aug-06-2018, 05:16 PM
RE: Understanding Scoping in Python - by nilamo - Aug-06-2018, 07:42 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Understanding venv; How do I ensure my python script uses the environment every time? Calab 1 2,362 May-10-2023, 02:13 PM
Last Post: Calab
  New to python/coding Need help on Understanding why this code isn't working. Thanks! mat3372 8 1,828 May-09-2023, 08:47 AM
Last Post: buran
  Understanding Python classes PythonNewbee 3 1,241 Nov-10-2022, 11:07 PM
Last Post: deanhystad
  Understanding Python super() for classes OmegaRed94 1 1,876 Jun-09-2021, 09:02 AM
Last Post: buran
  Better Understanding Of Object Orientation In Python JoeDainton123 3 2,526 Aug-30-2020, 02:49 PM
Last Post: deanhystad
  Understanding Python's Import Engine MysticaL 1 2,211 Feb-07-2020, 11:26 PM
Last Post: snippsat
  Help with understanding a python package pyhill00 4 3,094 Mar-21-2019, 12:42 AM
Last Post: Larz60+
  Understanding if Statements in Python Kathleen 1 2,467 Mar-05-2019, 07:55 PM
Last Post: Yoriz
  Weird scoping error Stef 3 2,911 Jan-20-2019, 04:36 PM
Last Post: Stef
  Python Iteration Understanding giteepag 3 2,766 Jul-26-2018, 02:23 PM
Last Post: perfringo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020