- Python Programming with Raspberry Pi
- Sai Yamanoor Srihari Yamanoor
- 379字
- 2021-07-02 23:48:48
The scope of variables in a function
There are two types of variables in a Python program: local and global variables. Local variables are local to a function, that is, it is a variable declared within a function is accessible within that function. The example is as follows:
def add_function():
a = 3
b = 2
c = a + b
print("The sum of a and b is ", c)
In this example, the variables a and b are local to the function add_function. Let's consider an example of a global variable:
a = 3
b = 2
def add_function():
c = a + b
print("The sum of a and b is ", c)
add_function()
In this case, the variables a and b are declared in the main body of the Python script. They are accessible across the entire program. Now, let's consider this example:
a = 3
def my_function():
a = 5
print("The value of a is ", a)
my_function()
print("The value of a is ", a)
The program output is:
The value of a is
5
The value of a is
3
In this case, when my_function is called, the value of a is 5 and the value of a is 3 in the print statement of the main body of the script. In Python, it is not possible to explicitly modify the value of global variables inside functions. In order to modify the value of a global variable, we need to make use of the global keyword:
a = 3
def my_function():
global a
a = 5
print("The value of a is ", a)
my_function()
print("The value of a is ", a)
In general, it is not recommended to modify variables inside functions as it is not a very safe practice of modifying variables. The best practice would be passing variables as arguments and returning the modified value. Consider the following example:
a = 3
def my_function(a):
a = 5
print("The value of a is ", a)
return a
a = my_function(a)
print("The value of a is ", a)
In the preceding program, the value of a is 3. It is passed as an argument to my_function. The function returns 5, which is saved to a. We were able to safely modify the value of a.
- Microsoft Power BI Quick Start Guide
- Visualforce Development Cookbook(Second Edition)
- 機器學習及應用(在線實驗+在線自測)
- Getting Started with Oracle SOA B2B Integration:A Hands-On Tutorial
- 數據運營之路:掘金數據化時代
- 精通Excel VBA
- Java Web整合開發全程指南
- 計算機網絡原理與技術
- HTML5 Canvas Cookbook
- Linux嵌入式系統開發
- 機器人人工智能
- 工業機器人入門實用教程
- 電動汽車驅動與控制技術
- Unreal Development Kit Game Design Cookbook
- Hadoop Beginner's Guide