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

How To Install Tensorflow On Windows

Why I am writing this tutorial ?
Recently I have started learning machine learning specifically DeepLearning for one of my pet projects, and during this quest of mine I wanted to learn TensorFlow library which is developed by Google. Learning is one thing but first I needed to install the library, but there was this problem which I faced during the installation. I am using Anaconda as my package manager and trying to install the Tensorflow library on my work computer which is behind a proxy, installing directly from the anaconda cloud while behind a proxy always displayed a proxy error.

How did I resolve the issue? Well this is exactly what I am going to write down in the below tutorial. The Steps To Follow
Before we get all cosy with this short tutorial on Tensorflow installation, let me tell you that
this tutorial is on the assumption that you have already installed Anaconda on your machine and you know at least a few basic things or two about python.
If you want to learn basic pyt…

Collatz sequence python : Monday fun with Python

Hello everyone. Today is Monday..well not a big deal and I know everyone knows today is a Monday. Like you I'm not a big fan of Monday, although nowadays I'm waiting eagerly for this day of the week as I get to watch a Game of Thrones episode on this day and I'm sure most of you can reciprocate the same feeling. The only thing I hate the most is the long wait till Monday night till I return to home from office and get to watch that episode for which I wait for one whole week and here I am in office waiting for the day to get over soon.

The plan To kill the time I do one of the thing that I love the most. Yes, you guessed right? I code. So, I decided to fool around some python programming code to kill the boredom. Without much ado let's code :) I decided to device a python program that would help me to devise a "collatz sequence" In case you are thinking what a "collatz sequence" is then dive into this link here.

For more understanding on python check…
Encountering The Python
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).
What kind of programing language?To give a better idea let's look at the below mentioned summary-
High level language- Python is a high-level language because it provides strong “abstraction”.Interpreted - Python is an Interpreted language because it does not run on a compiler.Dynamically typed language - Python is dynamically typed because in python every variable is bound to an object.Why should I learn Python?Python is a very powerful programming language, secondly it's easier to learn and since it's interpreted language the code is easier to understand. Lastly there is a huge community supporting Python so if you get stuck anywhere lot's of help are a…