> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 문자열 이름을 사용하여 변수 값에 어떻게 액세스할 수 있습니까?

Python에서 문자열 이름을 사용하여 변수 값에 어떻게 액세스할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-11 11:54:11
원래의
772명이 탐색했습니다.

How Can I Access Variable Values Using Their String Names in Python?

문자열 이름으로 변수 값 액세스

많은 시나리오에서 사전을 사용하여 문자열 기반 변수 조회를 수행할 수 있습니다. 방법은 다음과 같습니다.

get_ext = {'text': ['txt', 'doc'],
           'audio': ['mp3', 'wav'],
           'video': ['mp4', 'mkv']}
로그인 후 복사

이제 문자열 입력으로 원하는 목록을 검색할 수 있습니다.

get_ext['audio']  # ['mp3', 'wav']
로그인 후 복사

함수 사용을 선호하는 경우 사전의 get 메서드를 할당할 수 있습니다. 또는 항목 가져오기 메서드(__getitem__)를 여기에 추가합니다.

get_ext = get_ext.get
get_ext('video')  # ['mp4', 'mkv']
로그인 후 복사

get_ext.get에 할당하면 기본값이 제공됩니다. 알 수 없는 키에 대해 None을 반환하는 동작. 대신 KeyError의 경우 get_ext.__getitem__에 할당하세요.

또는 함수 내부에 사전을 래핑하여 사용자 정의 기본값을 제공할 수 있습니다.

def get_ext(file_type):
    types = {'text': ['txt', 'doc'],
             'audio': ['mp3', 'wav'],
             'video': ['mp4', 'mkv']}
    return types.get(file_type, [])
로그인 후 복사

설정을 최적화하려면 다음을 수행하세요. call 메소드로 클래스를 정의하여 조회:

class get_ext(object):
    def __init__(self):
        self.types = {'text': ['txt', 'doc'],
                      'audio': ['mp3', 'wav'],
                      'video': ['mp4', 'mkv']}
    def __call__(self, file_type):
        return self.types.get(file_type, [])
로그인 후 복사

이 접근 방식은 유형 사전을 한 번만 생성하여 효율성을 높이고 동적 업데이트를 허용합니다.

get_ext = get_ext()
get_ext.types['binary'] = ['bin', 'exe']
get_ext('binary')  # ['bin', 'exe']
로그인 후 복사

위 내용은 Python에서 문자열 이름을 사용하여 변수 값에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿