Pythonディクショナリビューオブジェクトとは何ですか?
ディクショナリメソッドitems()、keys()、values()はビューオブジェクトを返します。 items()メソッドは、ディクショナリ内のキーと値のペアのリストを含むdict_itemsオブジェクトを返します
>>> D1={"pen":25, "pencil":10, "book":100, "sharpner":5, "eraser":5} >>> i=D1.items() >>> i dict_items([('pen', 25), ('pencil', 10), ('book', 100), ('sharpner', 5), ('eraser', 5)])
keys()メソッドは、すべてのキーのリストを保持するdict_keysタイプのビューオブジェクトを返します
>>> k=D1.keys() >>> k dict_keys(['pen', 'pencil', 'book', 'sharpner', 'eraser'])
同様に、values()メソッドはdict_valuesオブジェクトを返します
>>> v=D1.values() >>> v dict_values([25, 10, 100, 5, 5])
これらのビューオブジェクトは動的に更新されます。基になるディクショナリオブジェクトの変更は、ビューに反映されます。たとえば、「book」キーが辞書から削除された場合、それぞれのビューオブジェクトにも関連するエントリは表示されません。
>>> del D1['book'] >>> k dict_keys(['pen', 'pencil', 'sharpner', 'eraser']) >>> i dict_items([('pen', 25), ('pencil', 10), ('sharpner', 5), ('eraser', 5)]) >>> v dict_values([25, 10, 5, 5])
-
Python関数はオブジェクトですか?
Pythonは、defステートメントを使用するとき、またはラムダ式を使用するときに、関数オブジェクトを作成します。 次のように、関数オブジェクトに属性を割り当てて取得できます 例 def foo(): pass foo.score = 20 print(type(foo)) print(foo.score) print(type(lambda x:x)) 出力 次の出力が得られます C:/Users/TutorialsPoint1/~.py <type 'function'> 20 <type 'function'> はい、Python
-
Python関数属性とは何ですか?
Pythonのすべてがオブジェクトであり、ほとんどすべてに属性とメソッドがあります。 Pythonでは、関数もオブジェクトです。したがって、他のオブジェクトと同様の属性があります。すべての関数には、関数のソースコードで定義されたドキュメント文字列を返す組み込みの属性__doc__があります。それらに新しい属性を割り当てたり、それらの属性の値を取得したりすることもできます。 属性を処理するために、Pythonは「getattr」と「setattr」を提供します。これは3つの引数を取る関数です。 「setattr」と=代入演算子の左側にあるドット表記の使用に違いはありません: 指定されたコードは