Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 vars() 함수


vars() 함수는 Python 표준 라이브러리에서 제공하는 내장 함수 모음에 속합니다. 연결된 개체의 __dic__ 속성을 콘솔에 반환합니다.

구문

vars(object)

반환 유형

<Dictionary Type>

매개변수

vars() 함수는 매개변수를 하나만 받습니다. 모듈, 클래스 또는 연결된 __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

두 번째 예제 코드는 __doc__ 속성이 비어 있는 클래스 자체와 관련된 __dict__ 속성의 사용을 보여줍니다.

세 번째 예제 코드는 로컬 범위의 변수가 있는 클래스 내부의 사용자 정의 함수와 관련된 __dict__ 속성의 사용을 보여줍니다.

결론

이 기사에서는 Python 3.x에서 다양한 경우에 vars 함수를 구현하는 방법을 배웠습니다. 또는 더 일찍. 필요할 때마다 vars 함수를 사용하도록 동일한 알고리즘을 구현할 수 있습니다.