两个代码十分相似但是输出的结果不同,能不能详细描述一下两个代码运行的过程,并且再说明一下局部和
def proc(x):
x = 2*x*x
def main():
x = 10
x = proc(x)
print(x)
main()
def proc(x):
x = 2*x*x
def main():
num = 10
proc(num)
print(num)
main()
def proc(x):
return 2*x*x
def main():
x = 10
proc(x)
print(x)
main()
望采纳,谢谢!
def proc(x):
x = 2*x*x
# 此处没有使用return返回值
# return x # 如果返回值,那么就是200
def main():
x = 10 # x变量相对于main方法是全局变量
x = proc(x) # 函数没有返回值,那么x=None
print(x)
main()
def proc(x):
# 这里的x变量相当于入参,相对函数内的全局变量,函数外的局部变量
x = 2*x*x
def main():
num = 10
proc(num) # 没有做任何操作,只是传递一个值给方法,方法里只是对内部变量进行赋值
print(num) # 直接输出num变量
main()
def proc(x):
# 虽然有返回值了,但是返回没有对变量进行赋值
return 2*x*x
def main():
x = 10
proc(x) # 只是传递了一个参数,没有进行返回值进行赋值
print(x) # 直接输出变量,x=10
main()
如果函数返回值并赋值x,那么x=200