如何让Python代码正常运行?为含空格变量Reputation Risk_22may_only赋值
解决带空格变量名的赋值问题
嘿,我一眼就发现问题所在啦!你遇到的SyntaxError完全是因为Python不允许变量名里包含空格——Reputation Risk_22may_only里的空格直接违反了变量命名规则,所以exec执行这段代码的时候直接触发语法报错了。
下面给你几个可行的解决办法:
方法1:用字典存储(推荐)
既然你想使用带空格的标识名,用字典来存储是最规范的方式,完全避开变量命名限制:
risk_type = "Reputation Risk" xxx1 = risk_type + "_22may_only" # 创建一个字典来存储这类特殊命名的变量 custom_vars = {} custom_vars[xxx1] = 'something else' # 取值的时候直接用字典键访问 print(custom_vars["Reputation Risk_22may_only"]) # 输出 'something else'
方法2:通过globals()/locals()字典操作命名空间
如果你一定要把这个带空格的名字放到全局/局部命名空间里,可以直接操作globals()或locals()字典(不推荐,容易污染命名空间):
risk_type = "Reputation Risk" xxx1 = risk_type + "_22may_only" globals()[xxx1] = 'something else' # 取值的时候也得用globals()访问 print(globals()["Reputation Risk_22may_only"]) # 输出 'something else'
方法3:修改变量名为合法格式(最稳妥)
直接把变量名改成Python允许的格式,比如把空格换成下划线,这样后续操作会更顺畅:
risk_type = "Reputation_Risk" xxx1 = risk_type + "_22may_only" exec(f"{xxx1} = 'something else'") # 直接正常访问变量 print(Reputation_Risk_22may_only) # 输出 'something else'
内容的提问来源于stack exchange,提问作者Ni_Tempe
相关产品推荐
相关产品推荐

