pythonシミュレーションenum列挙タイプのメソッドのまとめ
1188 ワード
この例ではpythonシミュレーションenum列挙タイプの方法をまとめた.皆さんの参考にしてください.具体的な分析は以下の通りである.
pythonにはenum列挙タイプはありません.pythonはこれが役に立たないと思っているかもしれません.次に、enum列挙タイプをシミュレートする3つの方法を挙げます.
方法1.カスタムクラスの使用
メソッド2:関数を使用してクラスを動的に作成する
方法3:pythonのコレクションから拡張されたオブジェクトを作成する
本稿で述べたpythonプログラム設計に役立つことを願っています.
pythonにはenum列挙タイプはありません.pythonはこれが役に立たないと思っているかもしれません.次に、enum列挙タイプをシミュレートする3つの方法を挙げます.
方法1.カスタムクラスの使用
class Numbers(object):
ONE = 1
TWO = 2
THREE = 3
assert Numbers.ONE == 1
assert Numbers.TWO == 2
assert Numbers.THREE == 3
メソッド2:関数を使用してクラスを動的に作成する
def enum(**enums):
return type('Enum', (object,), enums)
Numbers = enum(ONE=1, TWO=2, THREE=3)
assert Numbers.ONE == 1
assert Numbers.TWO == 2
assert Numbers.THREE == 3
方法3:pythonのコレクションから拡張されたオブジェクトを作成する
class Enum(set):
def __getattr__(self, name):
if name in self:
return name
raise AttributeError
Numbers = Enum( "ONE TWO THREE".split() )
error = False
try:
print Numbers.ONE
print Numbers.TWO
print Numbers.THREE
except:
error = True
assert error == False
try:
print Numbers.FOUR
except:
error = True
assert error == True
本稿で述べたpythonプログラム設計に役立つことを願っています.