python - 如果条件为假,如何返回变量名字符串?
问题描述
我有很多变量,它们的值是用户的输入。所以我想如果 input == 0 变量的值变成它的名字!我知道我可以尝试:
Var = something if something else "var"
但在实际代码中,“某事”部分很长,代码会很湿。我试图定义一个函数,但还有另一个问题:
X = 9
Y = 0
Def f(x):
digit_finder = max(list(map(lambda x:abs(x) , re.findall(r'\d+', str(x))
if digit_finder > 0:
x = x
else:
x = str(x)
return x
Print(f(x))
Print(f(y))
Pri
>>> 9
>>> 0.0 # I want this part returns "y"
解决方案
如果您仅出于测试目的需要它,我建议您抛出异常:
def f(v):
if v:
return v * 2
else:
raise ValueError()
x = 1
y = 0
f(x)
f(y)
结果:
Traceback (most recent call last):
File "C:/.../test.py", line 11, in <module>
f(y) <----------------------------------- here is variable name
File "C:/.../test.py", line 5, in f
raise ValueError()
ValueError
推荐阅读
- python - weakref.proxy 和weakref.ref 之间的区别?
- azure - Azure 中的 SQL 始终加密
- reactjs - 在 React 中设置 Material UI 的 TextField 组件的默认值
- r - 将多列数字数据转换为R中的日期
- python - 如何删除子目录中早于 x 天且未在 Python 中于周日创建的所有文件
- ios - 当 API 使用 MVVM 完成时重新加载 TableView
- typescript - 打字稿嵌套类型变量
- ios - nextTriggerDate() 不返回“预期”值,是否有另一种方法可以获得重复本地通知的下一个触发日期?
- node.js - 使用 Cloud Functions for Firebase 的无服务器通知
- javascript - 通过更改 Oracle Apex 中的复选框来正确提交