函数问题
def fun(var):var = 1314
print(var, end='')
var = 520
fun(var)
print(var)
<<< '1314520'
请问 全局变量var =520 是作为函数 中var的参数输入进去,----> 就先打印出1314,那print(var)这一步骤为什么不是另起一行打印520
我原本想打印的是 >>>1314
>>>520
这个520是怎么在局部变量里打印出来的?
print(var,end='')这个步骤 var既打印了局部变量里的var=1314同时又访问了全局变量var=520 能解释一下吗?
你不是end=''了吗,就说明你打印1234后不换行 寄安 发表于 2021-9-30 21:40
你不是end=''了吗,就说明你打印1234后不换行
我想问最后的print(var)为什么会通过函数里打印出来呢,为什么不是一个单独打印全局变量的行为 为啥要用两个一样的变量名,你是在深究全局变量和局部变量的问题吗 寄安 发表于 2021-9-30 21:42
为啥要用两个一样的变量名,你是在深究全局变量和局部变量的问题吗
这是课后题目,没搞懂这个答案 luck78 发表于 2021-9-30 21:42
我想问最后的print(var)为什么会通过函数里打印出来呢,为什么不是一个单独打印全局变量的行为
你定义的函数里有一个print
后边还有一个print
so就打印了两次 luck78 发表于 2021-9-30 21:44
这是课后题目,没搞懂这个答案
问题不大,我也才是 初学者,共同进步 你的函数参数在内部被重新赋值了, 任何参数传进来都是打印1314, 520没有在函数内部被打印出来, 你在全局有一个print(var)输出了520 範例 1:def func(var): # 參數是全局變量的值,不是全局變量本身
var = 1314 # 局部變量
print(var) # 這裡打印的是局部變量
var = 520 # 全局變量
func(var) # 打印局部變量
print(var) # 打印全局變量1314
520範例 2:def func(): # 沒有參數
# var = 1314 也沒有局部變量
print(var) # 這裡打印的就是全局變量
var = 520 # 全局變量
func() # 打印全局變量
print(var) # 打印全局變量520
520範例 3:def func(): # 沒有參數
global var # 定義全局變量(意思就是現在這個 var 是全局變量)
var = 1314 # 已經改變全局變量的值了
print(var) # 這裡打印的就是全局變量
var = 520 # 全局變量
func() # 打印全局變量,全局變量的值由 520 變成 1314
print(var) # 打印全局變量1314
1314
页:
[1]