Skip to main content
What is the scope in python?


Hey everyone TheCodingProject is back with the answer to another question from the world of Python and this time it’s about the “scope” in python code.
In Python the scope is indeed decided by the number of indents. It must be 4 spaces. In Python every object always has a local scope and the scope is always decided by the indent of that particular block within which the object is defined. Let's consider an example
  1. def foo ():
  2. var = 'abc'
  3. return var
In the above example, the scope of the variable var is limited to the function foo and how is the scope of the variable var is defined? It's defined by the indent that it maintains I.e. by making the indentation such that it comes under the function definition of foo, which tells the Python interpreter that the variable var is within the local scope of function foo. Now if you do the following -
  1. def foo():
  2.   var = 'abc'
  3. return var
  4. var = 'xyz'
  5. print (var)
  6. print(foo())
The output should be like the following-
  1. xyz
  2. abc
Why do you think the value of var was as such? The reason was again teh local scope of variable var. Notice that when the variable var was having a value ‘xyz' then the indent of the variable was same as the function definition of foo so the scope of variable didn't fall under the function definition. So, when we say print(var) then the current value of var was printed I.e. ‘xyz'. In the second print statement when the function foo was called then the value of variable var that was defined inside foo was printed since the instance of var having value ‘abc' was defined inside the indentation of function foo.
Now when we give only 1 space before the variable var inside foo-
  1. def foo():
  2. var = 'abc'
  3. return var
When you try to call the above function the interpreter will throw an error since we have defined only a single space before the variable var.
So, you see in Python the scope is decided by the indentation and the indent is 4 spaces and this is how the interpreter understands that which scope is to be used and under which block of code.
So, folks this was all for this week but more stuffs are coming your way next week, til then happy coding.


If you wanna get started in learning Python then why not get started with the python basics chapter. Check out this link to access the Python Basic Chapter for free. If you want to download a copy of the chapter then purchase the chapter by clicking on the following link.


Subscribe to my youtube channel to watch new python programming tips and tutorials..

If you have any questions, suggestions or comments you can post your comment here or you can also bug me on Quora, Twitter or on Facebook.

Comments

Popular posts from this blog

What I learned from writing a guest post

                                                     Recently I wrote a python tutorial for Datacamp , while writing this tutorial I learned a couple of things which I am going to share with you right here in my blog post. May be you can use my experiences in your own endeavours as a writer. Idea The first step is idea generation. You can either search through any previous topics in your blog post if you have one or you can go through your past learning, experiences or any problem statement that you might have gone through and you will find that while doing that you can get tons of ideas to start your article. If you fall short of ideas then you can ask for help from may be your social media followings your friends or your family, for example I asked the people at Datacamp  themselves and they suggested me a couple of topics which got me st...

For Loop in python 3 : How to become a Python Jedi - Beginners Python Programming Tutorial - Part 7

I am back again with another part in the beginner python programming tutorial series. We will continue with "Loops" but this time we are going to learn how to use for loop in python 3.  Difference between For loop and While Loop A "For Loop" and "While Loop" have a common connection that both are looping statement, but major difference is that unlike while loop, a for loop gets executed a specified number of times. We can break down the For loop into the following components(Refer to the for loop flow chart below). for keyword variable name call to the range function colon operator clause or block of code Hovering over the flow-chart The above flow-chart is..well horrible I know, but I make my own drawings because I can't afford an artist. So, bear with me. In the above flowchart is a very basicy, laymanish representation of a for loop. The decision box contains the  For  statement along-with it's sou...

Expressions in Python : How to become a Python programming Jedi - A Python programming Tutorial Part 1

Long Long ago in a Galaxy far far away there was a planet named Quora. There was a growing agitation among the planet’s inhabitants to learn the way of the Python programming Force and become a master in the way of the Python programming Jedi, but very few knew that the secret art of the Jedi is embedded in a book named as TheCodingProject…. So, let’s begin the journey of learning the secret art of the Python programming Force and we shall together make the journey towards becoming the Python Jedi…. What is Python? As per Wikipedia “Python is a widely used high-level , general-purpose , interpreted , dynamic programming language .” Python is an open source programming language which was conceived in the late 1980s and its implementation began in December 1989 by Guido van Rossum (more on it here ). For us it’s sufficient to know that Python is : High level language - Python is a high-level programming language because it provides strong “:abstractio...