我是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’应该是输出)
Tags:
def情况局部语句例子example1print新手全局变量example22条回答网友
1楼 ·
编辑于 2023-03-06 23:31:00
在第二个例子中,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
网友
2楼 ·
编辑于 2023-03-06 23:31:00
x=6
def example2():
print x +"2nd call"
print (x+10)
print x+" 1st call" # This print gets call first
example2()
我想这就解释了。第一个print在函数失效时首先被调用,在函数之前也被调用
如果你想输出为6,16,6,做如下改变
x=6
def example2():
print x
print (x+10)
example2()
print x