如何将整型值赋给字符串,使字符串可以与算术运算一起使用



我想用DataFrame中的相应单词名称替换数字列名,但仍然能够按顺序对列名进行排序,以便' 2 '在' 8 '之前。

在学习Python时,我遇到了一个概念,我们可以说'foo'表示3,'bar'表示8,这样在程序中,'foo' * 'bar'将被解释为3*8。

到目前为止,我遇到的解决方案(例如这个和这个)涉及在执行操作之前显式地将字符串转换为整数,但我想为这些字符串分配数值,以便python固有地知道它们代表什么,然而,我不再能够记住概念的名称,所以我的谷歌搜索并不顺利。我该怎么做呢?

你可以使用字典:

dictionary = {
"foo": 1,
"bar": 2
}
print(dictionary["foo"] * dictionary["bar"])

或者重写__mul__神奇的方法:

class Multi(object):
def __init__(self, value):
self.value = value
def __mul__(self, other):
return self.value * other.value
foo = Multi(3)
bar = Multi(8)
foo_bar = foo * bar
print(foo_bar)

最新更新