>  기사  >  백엔드 개발  >  Python의 문자열 입력에서 클래스 속성에 동적으로 액세스하는 방법은 무엇입니까?

Python의 문자열 입력에서 클래스 속성에 동적으로 액세스하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-23 08:42:02613검색

How to Access Class Properties Dynamically from String Input in Python?

Python: 문자열에서 클래스 속성에 액세스

Python에서는 문자열을 사용하여 클래스 속성에 액세스해야 하는 상황이 발생할 수 있습니다. 예를 들어 다음과 같은 클래스가 있을 수 있습니다.

<code class="python">class User:
    def __init__(self):
        self.data = []
        self.other_data = []

    def doSomething(self, source):
        # How to access self.other_data if source = 'other_data'?</code>

doSomething의 소스 매개변수에 대한 문자열 값을 전달하고 동일한 이름을 가진 클래스 멤버에 액세스하려고 합니다.

해결책:

이 문제에 대한 이상적인 해결책은 getattr 함수를 사용하는 것입니다.

<code class="python">x = getattr(self, source)</code>

getattr은 두 가지 인수를 사용합니다. 즉, 액세스하려는 속성이 있는 객체와 속성의 이름을 문자열로 나타냅니다. 귀하의 경우 self를 첫 번째 인수로 사용하고 source를 두 번째 인수로 사용합니다.

이 접근 방식은 예제의 other_data를 포함하여 소스 문자열에서 self의 어떤 속성을 참조하는지에 관계없이 원활하게 작동합니다.

위 내용은 Python의 문자열 입력에서 클래스 속성에 동적으로 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.