python 中局部变量和全局变量的输出混乱
confusion in output of local and global variables in python
我是 python 的新手,正在试验局部变量和全局变量。
'example1' 产生了输出 '6,16,6 ',这是预期的。
x=6
def example1():
print x
print (x+10)
print x
example1()
在第二个例子中:
x=6
def example2():
print x
print (x+10)
print x
example2()
我预计 o/p 为“6,16,6”,但输出为“6,6,16”。有人可以解释为什么这发生在 'example2()' 吗?
(我认为 'example2' 中的第二个 'print x' 语句指的是全局变量 x(等于 6),因此,我认为 '6,16,6 ' 应该是输出)
在您的第二个示例中,x 的第一个值将为 6。然后您调用方法 example2()
,该方法将首先打印 x
(即 6)然后 x+10
.
所以输出将是:
6
6
16
为了更好地理解,这里是您程序的执行顺序:
x=6
def example2():
print x
print (x+10)
print x # this will be called first, so the first output is 6
example2() # then this, which will print 6 and then 16
x=6
def example2():
print x +"2nd call"
print (x+10)
print x+" 1st call" # This print gets call first
example2()
我认为这解释了。第一个打印首先被调用,因为它的功能失效,并且在功能之前被调用
如果您希望输出为 6,16,6,请按以下方式进行更改
x=6
def example2():
print x
print (x+10)
example2()
print x
演示局部变量和全局变量。
局部变量 是在函数内部声明的变量。
全局变量 是在函数外部声明的变量。
演示局部变量和全局变量用法的程序。
global_var = 5 #Global Variable
def add(a,b):
local_var = a+b #Local Variable
print("The sum is",local_var)
print("The global variable is",global_var)
add(10,20)
输出为:
The sum is 30
The global variable is 5
我是 python 的新手,正在试验局部变量和全局变量。 'example1' 产生了输出 '6,16,6 ',这是预期的。
x=6
def example1():
print x
print (x+10)
print x
example1()
在第二个例子中:
x=6
def example2():
print x
print (x+10)
print x
example2()
我预计 o/p 为“6,16,6”,但输出为“6,6,16”。有人可以解释为什么这发生在 'example2()' 吗?
(我认为 'example2' 中的第二个 'print x' 语句指的是全局变量 x(等于 6),因此,我认为 '6,16,6 ' 应该是输出)
在您的第二个示例中,x 的第一个值将为 6。然后您调用方法 example2()
,该方法将首先打印 x
(即 6)然后 x+10
.
所以输出将是:
6
6
16
为了更好地理解,这里是您程序的执行顺序:
x=6
def example2():
print x
print (x+10)
print x # this will be called first, so the first output is 6
example2() # then this, which will print 6 and then 16
x=6
def example2():
print x +"2nd call"
print (x+10)
print x+" 1st call" # This print gets call first
example2()
我认为这解释了。第一个打印首先被调用,因为它的功能失效,并且在功能之前被调用 如果您希望输出为 6,16,6,请按以下方式进行更改
x=6
def example2():
print x
print (x+10)
example2()
print x
演示局部变量和全局变量。
局部变量 是在函数内部声明的变量。 全局变量 是在函数外部声明的变量。
演示局部变量和全局变量用法的程序。
global_var = 5 #Global Variable
def add(a,b):
local_var = a+b #Local Variable
print("The sum is",local_var)
print("The global variable is",global_var)
add(10,20)
输出为:
The sum is 30
The global variable is 5