vars() 함수는 Python 표준 라이브러리에서 제공하는 내장 함수 모음에 속합니다. 연결된 개체의 __dic__ 속성을 콘솔에 반환합니다.
구문
vars(object)
반환 유형
<Dictionary Type>
매개변수
vars() 함수는 매개변수를 하나만 받습니다. 모듈, 클래스 또는 연결된 __dict__ 속성이 있는 모든 개체가 될 수 있는 개체를 매개변수로 사용합니다.
이 매개변수는 본질적으로 선택 사항입니다. 매개변수 없이 함수를 사용하는 경우 로컬 기호 테이블이 포함된 사전이 표시됩니다.
관련된 예외
전달된 인수가 속성과 일치하지 않으면 TypeError 예외가 발생합니다.
범위
Vars()는 인수가 전달되지 않을 때 locals() 메서드처럼 작동합니다. locals() 메서드는 현재 존재하는 로컬 기호 테이블의 사전을 수정하고 반환합니다.
작동 메커니즘
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 함수를 사용하도록 동일한 알고리즘을 구현할 수 있습니다.