lzb1001 发表于 2023-5-10 18:28:19

还是全局变量和局部变量

1.def fun(var):
2.    var = 1314
3.    print(var, end='')
4.
5.var = 520
6.fun(var)
7.print(var)

请大神逐步讲解下

isdkz 发表于 2023-5-10 18:28:45

这段代码主要涉及到全局变量和局部变量的概念。

首先,在第5行中定义了一个全局变量var并赋值为520。

接着,在第1行定义了一个名为fun的函数,该函数有一个参数var。

在第2行中,将函数参数var的值赋为1314,这里的var是函数内部的局部变量,不会影响到全局变量var的值。

在第3行中,打印函数内部的局部变量var的值1314。

在第6行中,调用函数fun,并将全局变量var的值520作为参数传入。

在第7行中,打印全局变量var的值520。

因此,最终输出结果为1314520。

总结:全局变量是在整个程序中都可用的变量,而局部变量只在函数内部可用,不会影响到全局变量的值。

sfqxx 发表于 2023-5-10 20:39:28

本帖最后由 sfqxx 于 2023-5-10 21:09 编辑

这段代码的执行过程和结果如下:

定义了一个名为 fun 的函数,该函数接受一个参数 var。

在函数内部,将 var 的值设置为 1314。

使用 print 函数输出 var 的值,由于使用 end='' 参数,因此不换行。

函数执行完毕。

定义了一个名为 var 的变量,并将其值设置为 520。

调用函数 fun,将 var 作为参数传递给函数。此时,在函数内部 var 的值被修改为 1314。

使用 print 函数输出 var 的值,由于没有使用 end 参数,默认换行输出,输出结果为 520。

因此,最终输出结果为:


1314520
有用请设置最佳答案

lzb1001 发表于 2023-5-10 20:58:19

sfqxx 发表于 2023-5-10 20:39
这段代码的执行过程和结果如下:

定义了一个名为 fun 的函数,该函数接受一个参数 var。


谢谢大神,不过返回的结果经测试应该是:

1314520

sfqxx 发表于 2023-5-10 21:08:40

lzb1001 发表于 2023-5-10 20:58
谢谢大神,不过返回的结果经测试应该是:

1314520

哦,我修改一下,你帮我设置最佳答案呗

陶远航 发表于 2023-5-13 14:07:03

1、定义了一个名为fun的函数,该函数有一个参数var。
2、在函数内部,将参数var赋值为1314。
3、打印赋值后的var的值(即1314),并在末尾加入end=''使输出不换行。
4、函数执行完毕,但没有返回任何值。
5、在主程序中,将全局变量var赋值为520。
6、调用fun函数,并将全局变量var作为参数传入。函数内部的变量var被赋值为1314,并打印出来。
7、由于函数体内的var只是一个局部变量,不会影响到全局变量var的值,因此此时print语句会输出全局变量var的值(即520)。
页: [1]
查看完整版本: 还是全局变量和局部变量