为了账号安全,请及时绑定邮箱和手机立即绑定

如何在字符串中获取给定名称的变量的值?

如何在字符串中获取给定名称的变量的值?

千万里不及你 2019-07-23 15:06:24
如何在字符串中获取给定名称的变量的值?为简单起见,这是我想要做的精简版:def foo(a):     # I want to print the value of the variable     # the name of which is contained in a我知道如何在PHP中执行此操作:function foo($a) {     echo $$a;}global $string = "blah"; // might not need to be global but that's irrelevant foo("string"); // prints "blah"有什么办法吗?
查看完整描述

3 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

如果它是一个全局变量,那么你可以这样做:

>>> a = 5>>> globals()['a']5

关于各种“eval”解决方案的注意事项:你应该小心eval,特别是如果你正在评估的字符串来自可能不受信任的来源 - 否则,你最终可能会删除磁盘的全部内容或类似的东西如果给你一个恶意字符串。

(如果它不是全局的,那么你将需要访问它定义的任何命名空间。如果你没有,那么你将无法访问它。)


查看完整回答
反对 回复 2019-07-23
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

>>> string = "blah">>> string'blah'>>> x = "string">>> eval(x)'blah'


查看完整回答
反对 回复 2019-07-23
  • 3 回答
  • 0 关注
  • 601 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信