>  기사  >  백엔드 개발  >  Python에서 PHP의 Compact() 및 extract() 기능을 복제하는 방법은 무엇입니까?

Python에서 PHP의 Compact() 및 extract() 기능을 복제하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-25 19:44:02405검색

 How to Replicate PHP's compact() and extract() Functionality in Python?

Python의 PHP Compact() 및 Extract() 대응

PHP의 Compact() 함수는 지정된 기호 테이블에 해당하는 값으로 해시 테이블을 어셈블합니다. 이름을 지정하고 extract()는 이 프로세스를 반대로 수행합니다. Python은 locals(), globals() 및 vars()를 제공하지만 이러한 값의 일부를 분리하기 위한 기본 제공 메커니즘이 부족합니다.

Compact() 구현

원하는 경우 다음과 같이 Compact()에 해당하는 Python을 구현할 수 있습니다.

<code class="python">import inspect

def compact(*names):
    caller = inspect.stack()[1][0] # caller of compact()
    vars = {}
    for n in names:
        if n in caller.f_locals:
            vars[n] = caller.f_locals[n]
        elif n in caller.f_globals:
            vars[n] = caller.f_globals[n]
    return vars</code>

Python의 Extract()

추출물 생성 시도 () Python의 함수는 권장되지 않습니다. 이전 Python 인터프리터에서는 해결 방법이 허용되었지만 최신 버전에서는 더 이상 작동하지 않습니다.

Python의 관점

compact() 및 extract() 사용은 일반적으로 권장되지 않습니다. Python은 명시성, 단순성, 명확성이라는 Python의 원칙에 어긋납니다. 그러나 이러한 기능은 디버깅, 사후 분석 또는 동적 변수 생성에 틈새 애플리케이션이 있을 수 있습니다.

위 내용은 Python에서 PHP의 Compact() 및 extract() 기능을 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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