鱼C论坛

 找回密码
 立即注册
查看: 1867|回复: 5

[已解决]还是全局变量和局部变量

[复制链接]
发表于 2023-5-10 18:28:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

请大神逐步讲解下
最佳答案
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
有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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。

总结:全局变量是在整个程序中都可用的变量,而局部变量只在函数内部可用,不会影响到全局变量的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-10 20:58:19 | 显示全部楼层
sfqxx 发表于 2023-5-10 20:39
这段代码的执行过程和结果如下:

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

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

1314520
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-10 21:08:40 From FishC Mobile | 显示全部楼层
lzb1001 发表于 2023-5-10 20:58
谢谢大神,不过返回的结果经测试应该是:

1314520

哦,我修改一下,你帮我设置最佳答案呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 02:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表