Python에서 문자열을 변수 이름으로 변환

  1. Python에서globals()locals()를 사용하여 문자열을 변수 이름으로 변환
  2. Python에서exec()를 사용하여 문자열을 변수 이름으로 변환

파이썬에서는 문자열 값을 변수 이름으로 변환 할 수있는 다양한 방법이 있습니다. 이 기사에서는이를 달성 할 수있는 다양한 방법에 대해 설명합니다.

어떤 사람들은 파이썬 프로그램이 실행되는 동안 변수 이름을 동적으로 정의하기 위해 이렇게 할 수 있습니다. 아래 표시된 방법을 사용하여 문자열을 변수 이름으로 변환하는 것은 일부 문제가 발생할 수 있으므로 프로덕션 용 소프트웨어를 개발하는 동안 권장되지 않습니다. 네, 가능 합니다만,주의 해주세요.

Python에서globals()locals()를 사용하여 문자열을 변수 이름으로 변환

globals()

Python의globals()함수는 현재 전역 기호 테이블의 사전을 반환합니다. 전역 심볼 테이블은globals()함수를 사용하여 액세스 할 수있는 프로그램의 전역 범위와 관련된 모든 정보를 저장합니다.

user_input = input("Enter string for variable name: \n")
globals()[user_input] = 50
print(apple)
print(type(apple))

출력:

globals () 함수를 사용하여 문자열을 변수 이름으로 변환

여기서 가장 먼저하는 일은input()함수를 사용하여 사용자로부터 입력을 받고 그 안에변수 이름에 대한 문자열 입력 :문자열을 전달하는 것입니다. 그런 다음 사용자가 입력 할 값이 무엇이든 해당 값은user_input변수에 저장됩니다. 여기서는 사용자가user_input에 저장 될 문자열 값으로apple을 입력 할 것으로 예상합니다. 사용자가apple이외의 값을 입력하면NameError: name 'variable' is not defined오류가 발생합니다. apple의 값도 인쇄 한 다음 나중에 코드에서 유형을 확인하기 때문입니다.

사용자가 올바른 값을 입력 한 경우globals()를 사용하여 전역 사전을 수정하여 전역 사전을 수정하고apple변수에 값을 할당 할 수 있습니다. 여기서는apple변수에50을 할당했습니다.

locals()

Python의locals()함수는 현재 지역 기호 테이블의 사전을 반환합니다. locals()함수를 사용하여 로컬 기호 테이블에 액세스 할 수 있습니다. locals()함수는globals()함수와 거의 동일한 방식으로 작동합니다. 유일한 차이점은locals()는 로컬 심볼 테이블에 액세스 할 수 있고globals()는 글로벌 심볼 테이블에 액세스하여 사전을 반환 할 수 있다는 것입니다.

user_input = input("Enter string for variable name: \n")
locals()[user_input] = 50
print(apple)
print(type(apple))

출력:

globals() 함수를 사용하여 문자열을 변수 이름으로 변환

이 코드는globals()와 동일한 방식으로 작동합니다. 유일한 차이점은 여기서locals()함수를 사용했다는 것입니다.

Python에서exec()를 사용하여 문자열을 변수 이름으로 변환

이 작업을 수행하는 또 다른 방법은 Python에서exec()함수를 사용하는 것입니다. exec()함수는 Python 프로그램을 동적으로 실행하는 데 사용됩니다. 문자열 값Elon을 저장하는name변수가 있습니다.

name = 'Elon'
exec("%s = %d" % (name,100))
print(Elon)

출력:

100

exec()함수 내에는 각각 문자열 값과 10 진수 값에 대한 자리 표시 자로 사용되는%s%d가 있습니다. 이는 할당 연산자=의 도움으로 문자열에 정수 값을 할당한다는 것을 의미합니다. %s%d는 모두 따옴표=로 묶여 있습니다. 그런 다음 내부에 두 가지가있는 괄호가 있습니다. 첫 번째는 생성 한 변수, 즉Elon값을 포함하는name이고 두 번째는 정수100입니다.

여기서name변수 대신 해당 변수 내의 값이 대체됩니다. 정수100Elon에 할당됩니다. Elon은 변수 이름이되며이를 인쇄하면100이 출력으로 표시됩니다.

관련 문장 - Python String

  • Python에서 문자열의 문자 발생 횟수 계산
  • 파이썬에서 정수를 문자열로 변환하는 방법
  • 관련 문장 - Python Variable

  • Python에서 입력이 정수인지 확인
  • 파이썬 방식으로 문자열이 비어 있는지 확인하는 방법