>  기사  >  백엔드 개발  >  Python에서 eval 함수를 사용하는 방법

Python에서 eval 함수를 사용하는 방법

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-21 13:22:274711검색

Python의 eval 함수는 무엇인가요? eval(expression, globals=None, locals=None)의 실제 매개변수는 문자열이며 선택적 전역 및 지역입니다. globals 인수는 사전이어야 합니다. locals는 모든 매핑 개체가 될 수 있습니다.

Python에서 eval 함수를 사용하는 방법

expression 매개변수는 전역 및 로컬 네임스페이스에 대한 전역 및 지역 사전을 사용하여 Python 표현식(기술적으로 조건 목록)으로 구문 분석되고 평가됩니다. 전역 사전이 존재하고 __buildins__ 로 입력된 값을 포함하지 않는 경우 내장으로 입력된 사전에 대한 참조가 표현식이 구문 분석되기 전에 삽입됩니다. 이는 표현식이 일반적으로 표준 내장 모듈에 대한 전체 액세스 권한을 가지며 제한된 환경이 전파된다는 것을 의미합니다. 지역 사전을 생략하면 기본값은 전역 사전입니다. 두 사전을 모두 생략하면 eval()이 호출되는 컨텍스트에서 표현식이 평가됩니다. 반환 값은 표현식을 평가한 결과입니다. 구문 오류는 예외로 보고됩니다.

관련 권장사항: "Python Video Tutorial"

예:

>>> x = 1
>>> eval('x+1')
2

이 함수는 코드 개체(예: compile()로 생성된 개체)를 실행하는 데에도 사용할 수 있습니다. 이 경우 매개변수는 문자열이 아닌 코드 개체입니다. 객체를 컴파일할 때 모드 인수가 'exec'이면 eval()의 반환 값은 None 입니다.

팁: exec() 함수는 명령문의 동적 실행을 지원합니다. globals() 및 locals() 함수는 각각 현재 전역 및 로컬 사전을 반환하므로 이를 eval() 또는 exec()에 전달하여 사용할 수 있습니다.

위 내용은 Python에서 eval 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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