鱼C论坛

 找回密码
 立即注册
查看: 2643|回复: 2

[技术交流] Python FAQ 001 局部变量 & 全局变量相关问题

[复制链接]
发表于 2020-3-3 15:22:21 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 qiuyouzhi 于 2020-3-12 08:34 编辑

Python FAQ 001

问题:
var = ' Hi '

 def fun1():
     global var
     var = ' Baby '
     return fun2(var)

 def fun2(var):
     var += 'I love you'
     fun3(var)
     return var

 def fun3(var):
     var = ' 小甲鱼 '

print(fun1())

为什么打印出来的是 Baby I love you


(出自:https://fishc.com.cn/forum.php?m ... p;page=1#pid4379822

我的解答:

虽然fun1里面写了global,可它对var的操作

却是=,Python就认为它是一个局部变量

又因为它的返回值是fun2,对函数进行了一次拼接,所以它对局部变量的操作

是有效的。

fun3和fun1一样,都是局部变量。
欢迎来找错~~~

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2020-3-3 15:24:57 | 显示全部楼层
你错了,fun2() 不能享有特权:
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> 
==================== RESTART: C:\Users\Angel\Desktop\test.py ===================
 Baby I love you
>>> var
' Baby '
>>> 

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
qiuyouzhi + 3 + 3 谢谢找错~~

查看全部评分

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

使用道具 举报

发表于 2020-8-24 20:03:45 | 显示全部楼层
Baby I love you
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 22:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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