Whilest學習Python 3中和一些從Java我的代碼轉換到Python 3.3我遇到了一個小問題,我一直沒能解決。
在Java中我有這樣的代碼(只是虛擬的代碼,使之更小):的Python 3.X:Java的的valueOf(),相當於在Python 3.x的
public enum Mapping {
C11{public int getMapping(){ return 1;}},
C12{public int getMapping(){ return 2;}},
public abstract int getMapping();
}
String s = "C11";
System.out.println(Mapping.valueOf(s))
工作正常,並打印requisted「1」 試圖做到這一點在Python不工作那麼容易(還) 。我試圖模仿枚舉有:
class Mapping:
C11=1
C12=2
s = 'C11'
print(Mapping.Mapping.(magic should happen here).s)
不幸的是我不知道如何將一個字符串轉換爲一個屬性被稱爲類似的(或類似的東西)。 我需要這個,因爲我在類映射中有一個巨大的列表,並且需要將從文本文件讀取的看似隨機的單詞轉換爲整型映射。
請仔細閱讀[Python是不是Java(http://dirtsimple.org/2004/12/python-is-not-java.html),與其說由於這個具體問題,但因爲它和他們的方式,你問它表明你仍然主要思考用Java術語。 – delnan
我會這樣做,謝謝你的提示! – Tim