を継承するクラスを作りたいと思っていますNone
。
これを試しました:
class InvalidKeyNone(None):
pass
しかし、それは私に与えます:
TypeError: Error when calling the metaclass bases
cannot create 'NoneType' instances
None
まったく同じように動作するが、テストを入力できる型を与える正しい解決策は何ですか?
foo = InvalidKeyNone()
print(type(foo))
>>> InvalidKeyNone
[編集]
Python データ構造で選択スキームを作成しているため、これを実行したいと考えています。
bar = select(".foo.bar.[1].x", {"foo":{"bar":[{"x":1}, {"x":2}], "baz":3})
print(bar)
>> 2
そして、選択した値が None であるため、またはキーが見つからなかったために None を取得するかどうかを判断できるようにしたいと考えています。ただし、None とまったく同じように動作する (ducktyped) None を返す必要があります。例外やカスタム タイプはここに返されません。
[編集]
わかりましたので、コンセンサスは次のとおりです。実行できません。これは不十分ですが、有効な答えです。キーが存在しないときにデフォルトの動作で None を返すようにしたいので、必要に応じて例外スローに切り替えるために、select に param を食べさせると思います。ありがとう。