Python变量的作用域,python全局变量的使用
不能理解以下代码段的结果my_str=outside func
deffunc(:
my_str=inside func
类c():
打印(我的_ str)为
print () lambda:my_str))
my_str=在C内部
打印(我的_ str)为
输出如下。
^{pr2}$
另一个代码是my_str=不在课堂上
类丙:
my_str=在类中
print([my _ str forin(1,2 ) ]
打印(list(my _ str forin(1,2))
输出为[在课堂上,在课堂上]
[不在类中,不在类中]
问题是,每个打印()语句发生了什么?在
打印(有谁能解释语句从不同的命名空间获取字符串的原因吗?在
编辑1 :
我觉得这和这个问题不一样。因为我谦虚地认为那里的答案不能解释这种变化my_str=outside func
deffunc(:
my_str=inside func
类c():
打印(我的_ str)为
print () lambda:my_str))
#my_str=在C语言内部
打印(我的_ str)为
输出为内部函数
不完整
不完整
编辑2 :
其实,这是来自这个问题的复印件。正如马丁彼得所说,如果命名为assignedtowithinaclassbody,
almostatthestart。youassignedtomy _ str,使其成为相同的情况
就在那里。注释掉这句话意味着你不再签名
到my_str,使其与x的情况相同。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。