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

Pythonのvars()関数


vars()関数は、Python標準ライブラリによって提供される組み込み関数のコレクションに属しています。関連付けられたオブジェクトの__dic__属性をコンソールに返します。

構文

vars(object)

リターンタイプ

<Dictionary Type>

パラメータ

vars()関数は1つのパラメーターのみを受け入れます。オブジェクトをパラメータとして受け取ります。これは、任意のモジュール、クラス、または__dict__属性が関連付けられている任意のオブジェクトです。

このパラメーターは本質的にオプションです。パラメータなしで関数を使用する場合ローカルシンボルテーブルを含む辞書が表示されます。

関連する例外

渡された引数が属性と一致しない場合、TypeError例外が発生します。

スコープ

Vars()は、引数が渡されない場合はlocals()メソッドのように機能します。locals()メソッドは、現在存在するローカルシンボルテーブルのディクショナリを変更して返します。

動作メカニズム

は__name__属性に関連付けられます。ベースタプルはベースクラスにアイテム化され、__ bases__属性を関連付けます。ディクショナリは、クラス本体に含まれる定義を含む現在の名前空間であり、標準のディクショナリタイプにコピーされて__dict__属性として表示されます。

vars()関数の概念を理解できるように、いくつかの例について説明しましょう

class test:
   def __init__(self, integer_1=555, integer_2=787):
      self.integer_1 = integer_1
      self.integer_2 = integer_2
   obj_test = test()
print(vars(obj_test))

出力

{'integer_1': 555, 'integer_2': 787}

class sample:
   company = "Tutorial's Point "
   Number = 4
   Topic = "Python 3.x."
obj = vars(sample)
print(obj)

出力

{'__doc__': None, '__weakref__': <attribute '__weakref__' of 'sample' objects>, 'Topic': 'Python 3.x.', 'company': "Tutorial's Point ", '__module__': '__main__', 'Number': 4, '__dict__': <attribute '__dict__' of 'sample' objects>}

class test():
# Python __repr__() function returns the representation of the object.
# It may contain any valid expression such as tuples, list, dictionary, string, set etc
   def __repr__(self):
      return "Tutorial's point"
   def localvariables(self):
      number = 4
      return locals()

if __name__ == "__main__":
   obj = test()
   print (obj.localvariables())

出力

{'self': Tutorial's point, 'number': 4}

説明

最初のサンプルコードは、クラスのコンストラクターに関連付けられた__dict__属性の使用を示しており、コンストラクターメソッドでデフォルト値が設定されています。4

2番目のサンプルコードは、__doc__属性が空のクラス自体に関連付けられた__dict__属性の使用を示しています。

3番目のサンプルコードは、ローカルスコープの変数を持つクラス内のユーザー定義関数に関連付けられた__dict__属性の使用を示しています。

結論

この記事では、Python3.xでさまざまなケースでvars関数を実装する方法を学びました。またはそれ以前。同じアルゴリズムを実装して、必要なときにいつでもvars関数を使用できます。


  1. Pythonのissubset()関数

    この記事では、Python標準ライブラリで利用可能なissubset()関数の実装と使用法について学習します。 issubset()メソッドは、セットのすべての要素が別のセットに存在する場合(引数として渡される場合)はブール値のTrueを返し、それ以外の場合はブール値のFalseを返します。 下の図では、BはAのサブセットです。AとBが同一のセットである場合、AはBの適切なサブセットであることを意味します。これは、両方のセットに同じ要素が含まれていることを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値 boolean True/

  2. Intersection()関数Python

    この記事では、任意のセットで実行できるintersection()関数について学習します。数学によると、共通部分とは、2つのセットから共通の要素を見つけることを意味します。 構文 <set name>.intersection(<set a1> <set a2> ……..) 戻り値 引数として渡されるセット内の共通要素。 例 set_1 = {'t','u','t','o','r','i','a','l&