如何在 Python 中从另一个函数调用变量?

2025年1月5日 | 阅读 5 分钟

变量

变量用于存储值。简单来说,变量就是可以变化的量。您可以在变量中存储任何类型的数据。变量也是存储信息的内存的一部分。在 Python 中定义变量有一些规则。这些规则如下:

  1. 任何变量的第一个字符必须是下划线(‘_’)或字母(大写或小写)。
  2. 第一个字符之后的其余字符可以是下划线(‘_’)或字母或数字(0-9)。
  3. 变量名是区分大小写的,这意味着 Myvar 和 myvar 是不同的。
  4. 不允许使用特殊字符。

在 Python 中,有两种方法可以从另一个函数调用变量:

  1. 全局变量
  2. Return Statement (返回语句)

全局变量

全局变量是可以在 Python 程序中的任何位置使用的变量。全局变量允许我们从程序中的任何函数检索值。如果一个变量在一个函数中声明为全局变量,那么它可以在整个 Python 程序中的任何其他函数中访问。

让我们看看如何在 Python 中声明全局变量。

代码

输出

I am a global variable

说明

在上面的代码中,声明了两个函数 first_function(),用于声明一个全局变量。global 关键字用于表示声明的变量是全局变量,可以在 Python 程序中的任何位置使用。为变量 'I am a global variable' 赋值,该变量是全局变量。全局变量的值从第一个函数打印。调用第一个函数,并声明全局变量。第二个函数打印全局变量的值。

Return Statement (返回语句)

return 语句是使用 return 语句从另一个函数调用变量的替代方法。return 语句是一种语句,有助于将值从函数内部传递到外部,例如变量。

让我们看一个在 Python 中从另一个函数访问变量的例子。

代码

输出

I am a returned variable

说明

在上面的代码中,该函数用于返回一个值和一个语句“I am a returned variable”。另一个 second 函数用于返回第一个函数中的语句。在 second 函数中,声明了一个变量来调用第一个函数,然后打印该变量,最后调用 second 函数来打印变量或第一个函数的 return 语句。

Python 中的函数执行如何工作?

Python 中的函数调用是通过堆栈数据结构来执行的。每当调用一个函数时,被调用的函数就会被推送到堆栈中,然后调用函数就会被执行。当调用函数执行完毕后,该函数就会从堆栈中弹出并执行,然后打印值。只有当被调用的函数完成时,函数执行才算完成。

考虑一个例子

代码

输出

The Sum of the Square of List of Numbers: 385

说明

在上面的代码中,声明了两个函数 Square 和 SumofSquares。sumofSquares 函数用于接收数组和数组长度作为输入,并计算数组中元素的平方和。通过 square 函数计算平方,该函数返回数字的平方,然后计算 Sum。返回 Sum,并通过传递数组和数组长度来调用 sum of the square 函数。return 语句用于从函数调用变量。然后打印列表中数字的平方和。

借助类,可以从同一类中的另一个函数调用变量,例如。

代码

输出

Function2: Hello
Function1: World

说明

在上面的代码中,创建了一个 main 类及其构造函数。创建了两个字符串 string1 和 string2,分别初始化为“Hello”和“World”。在类中创建了两个名为 function1 和 function2 的方法。Function1 调用 function2 并打印 string1 的值,然后 print 语句打印 string2 的值。创建了类的对象,并为该对象调用了方法。

可以通过面向对象范例中的继承属性从另一个函数访问变量。

这里有一个例子

代码

输出

Function2: Hello
Function1: World

说明

在上面的代码中,创建了一个 Parent 类,并在构造函数方法(即 __init__() 方法)中初始化了两个字符串。字符串的值分别是 Hello 和 World。在 Parent 类中创建了 Function2 方法,并打印了字符串的值。child 类继承自 Parent 类,并创建了 function1 方法,在 child 类中调用 Function2 方法来打印值,并在 child 类中打印 string2 的值,该值是从 Parent 类调用的。分别创建了每个类的对象,并从 child 类调用了 function1 方法。

结论

调用函数是调用另一个函数的函数,被调用函数是被另一个函数调用的函数。