Python
 Computer >> コンピューター >  >> プログラミング >> Python

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])

  1. 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

  2. Python関数属性とは何ですか?

    Pythonのすべてがオブジェクトであり、ほとんどすべてに属性とメソッドがあります。 Pythonでは、関数もオブジェクトです。したがって、他のオブジェクトと同様の属性があります。すべての関数には、関数のソースコードで定義されたドキュメント文字列を返す組み込みの属性__doc__があります。それらに新しい属性を割り当てたり、それらの属性の値を取得したりすることもできます。 属性を処理するために、Pythonは「getattr」と「setattr」を提供します。これは3つの引数を取る関数です。 「setattr」と=代入演算子の左側にあるドット表記の使用に違いはありません: 指定されたコードは