Python变量的作用域,python全局变量的使用

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: