Python에서 PHP의 `compact()` 및 `extract()` 기능을 달성하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-26 07:48:02
원래의
757명이 탐색했습니다.

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

Python의 PHP Compact() 및 extract() 대안

PHP의 Compact() 및 extract() 함수는 변수 값을 조작하는 편리한 방법을 제공합니다. 그러나 이러한 함수는 Python으로 직접 변환할 수 없습니다.

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>
로그인 후 복사

vars()로 변수 추출

사전의 값을 현재 범위로 추출하려면 vars()를 사용할 수 있습니다. 함수:

<code class="python">my_dict = {"foo": "what", "bar": "ever"}
vars().update(my_dict)</code>
로그인 후 복사

Pythonic 대안

compact() 및 extract()는 특정 상황에서 유용할 수 있지만 일반적으로 더 명시적인 메서드를 사용하는 것이 더 나은 방법으로 간주됩니다. 파이썬에서. 예를 들어, Compact()를 사용하는 대신 간단히 사전을 수동으로 만들 수 있습니다.

<code class="python">my_dict = {
    "foo": "what",
    "bar": "ever",
}</code>
로그인 후 복사

변수를 추출하는 경우 원하는 변수에 값을 수동으로 할당할 수 있습니다.

<code class="python">foo = my_dict["foo"]
bar = my_dict["bar"]</code>
로그인 후 복사

결론

Python에는 PHP의 Compact() 및 extract() 함수와 직접적으로 동등한 기능이 없지만 자체 검사 및 보다 명시적인 방법을 사용하여 유사한 기능을 달성할 수 있는 방법이 있습니다. 이러한 함수를 사용하는 것은 일반적으로 Python이 아닌 것으로 간주되며 특정 상황에서만 사용해야 한다는 점에 유의하는 것이 중요합니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!