>백엔드 개발 >파이썬 튜토리얼 >파이썬에서 eval의 사용법은 무엇입니까

파이썬에서 eval의 사용법은 무엇입니까

coldplay.xixi
coldplay.xixi원래의
2021-03-02 13:52:39119505검색

파이썬에서 eval 사용: 문자열 str을 유효한 표현식으로 처리하여 계산 결과를 평가하고 반환합니다. 구문은 [eval(source[, globals[, locals]]) ->

파이썬에서 eval의 사용법은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, Python 버전 3.9, DELL G3 컴퓨터 이 방법은 모든 브랜드의 컴퓨터에 적합합니다.

파이썬에서 eval 사용법:

python eval() 함수 함수: 문자열 str을 유효한 표현식으로 평가하고 계산 결과를 반환합니다.

구문: ​​

eval(source[, globals[, locals]]) -> value

매개변수:

  • source: compile()source:一个Python表达式或函数compile()返回的代码对象

  • globals:可选。必须是dictionary

  • locals:可选。任意map对象

如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。

python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间存储在一个叫locals()

globals 함수에서 반환된 Python 표현식 또는 코드 객체 : 선택사항입니다. 사전이어야 합니다

locals: 선택 사항. 모든 지도 객체globals 매개변수가 제공되면 사전 유형이어야 하며, locals 매개변수가 제공되면 모든 지도 객체가 될 수 있습니다.

Python의 전역 네임스페이스는 globals()라는 dict 개체에 저장됩니다. 로컬 네임스페이스는 locals()라는 dict 개체에 저장됩니다. 함수 본문에 있는 모든 변수 이름과 변수 값을 보려면 print(locals())를 사용할 수 있습니다. 🎜
 x = 1
 y = 1
 num = eval("x+y")
print('num',num)
 
 def g():
     x = 2
    y = 2
    num1 = eval("x+y")
    print('num1',num1)
     num2 =eval("x+y",globals())
     print('num2',num2)
     num3 = eval("x+y",globals(),locals())
     print('num3',num3)
g()
 
num 2
num1 4
num2 2
num3 4
🎜분석: num2는 전역 변수가 있으므로 전역 변수이고 실행 후 결과는 4입니다. 이 경우에만 locals 값이 선호되므로 계산 결과는 2🎜🎜입니다. 🎜관련 무료 학습 추천: 🎜python 비디오 튜토리얼🎜🎜🎜

위 내용은 파이썬에서 eval의 사용법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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