>백엔드 개발 >파이썬 튜토리얼 >문자열 입력을 사용하여 Python에서 변수를 어떻게 선택할 수 있습니까?

문자열 입력을 사용하여 Python에서 변수를 어떻게 선택할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-21 01:17:09871검색

How Can I Select Variables in Python Using a String Input?

문자열 이름으로 변수 선택

문자열 입력을 기반으로 변수를 선택하는 방법에는 여러 가지가 있습니다.

사전

이런 경우에는 일반 사전이 적합한 경우가 많습니다. 작업:

get_ext = {'text': ['txt', 'doc'],
           'audio': ['mp3', 'wav'],
           'video': ['mp4', 'mkv']}

get_ext['video']  # returns ['mp4', 'mkv']

함수

특정 이유로 함수가 필요한 경우 사전의 get 메서드에 할당할 수 있습니다.

get_ext = get_ext.get  # Equivalent to get_ext = lambda key: get_ext.get(key)
get_ext('video')  # returns ['mp4', 'mkv']

기본적으로 알 수 없는 키에 대해서는 None을 반환합니다. 대신 KeyError를 발생시키려면 get_ext.__getitem__에 할당하세요.

get_ext = get_ext.__getitem__  # Equivalent to get_ext = lambda key: get_ext.__getitem__(key)
get_ext('video')  # returns ['mp4', 'mkv']

Custom Default Value

사전을 함수:

def get_ext(file_type):
    types = {'text': ['txt', 'doc'],
             'audio': ['mp3', 'wav'],
             'video': ['mp4', 'mkv']}

    return types.get(file_type, [])

최적화

함수를 호출할 때마다 사전을 다시 생성하지 않으려면 클래스를 사용할 수 있습니다.

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')  # returns ['bin', 'exe']

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

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