文書化されていないAPIのほとんど文書化されていない機能を使用する方法を理解しようとしています。私は簡単にするためにダウンこれに私に迷惑を与えているコードの塊を蒸留している:標準のPython3オブジェクトには、定位置引数を持たないgetメソッドがありますか?
def build_custom_args(args):
custom_args = {}
for key in args:
custom_args.update(key.get())
print(custom_args)
私はそれがリストであることをargs
を構築する機能から伝えることができます。問題は、のリストは何ですか?私がリストに何を入れても、key.get()は別のものを一つ例外として発生させます。
たとえば、次のようにコードを実行すると、build_custom_args(['foo'])
と表示され、わかりやすいエラーメッセージAttributeError: 'str' object has no attribute 'get'
が表示されます。
または、辞書を試してください:build_custom_args([{'foo': 'bar'}])
ただし、エラーが発生しました:TypeError: get expected at least 1 arguments, got 0
。
args
はいくつかの標準的なpythonオブジェクトのリストです。カスタムのget()
メソッドを持つ特別なオブジェクトであるということはありません。
明らかなものがありませんか?位置の引数を取らないget()
メソッドを持ついくつかの標準的なPythonオブジェクトがありますか?これは古いバージョンのPythonの構文ですか?または、APIにバグが見つかりましたか?
編集は 受け入れ答えは、私はargs
のpythonビルトインでなければならなかったと信じて間違っていたことを示しています。
実際に問題を解決しているので、「このPythonの組み込み関数はargs
であると、この関数はエラーをスローしないでしょうか?
あまり問題ではないはず'.get'を実装する複数の型にすることができます。あなたは、関数が正確に何をするべきかをargsを使って伝えることから始めることができます –
位置指定引数を取らない '.get'メソッドを持つ標準のPython型はありますか? – fildred13
これはTkinterベースのアプリケーションですか? StringVar、IntVarなどはゼロ引数の '' get() ''メソッドを持っています。 – jasonharper