PHP의 Compact() 및 extract()에 대한 Python 유사체
PHP에서 Compact() 및 extract()는 널리 사용되는 함수입니다. 지정된 값이나 변수를 사용하여 해시테이블을 쉽게 생성하고 추출할 수 있습니다. 이로 인해 Python에서의 가용성에 대한 의문이 제기되었습니다.
compact() 구현
Python의 경우 Compact()의 가능한 구현은 다음과 같습니다.
<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>
extract() 구현
compact()를 구현할 수 있지만 값을 추출하는 것은 최신 Python 인터프리터에서 문제에 직면합니다. 이전에는 다음을 사용할 수 있었습니다.
<code class="python">def extract(vars): caller = inspect.stack()[1][0] # caller of extract() for n, v in vars.items(): caller.f_locals[n] = v # NEVER DO THIS - not guaranteed to work</code>
그러나 이 기능은 더 이상 안정적으로 작동하지 않습니다.
대체
이러한 기능이 Python에서는 좋은 사례로 간주되지 않습니다. 그들은 명확성, 단순성, 이해성의 원칙에 위배됩니다. 다음과 같은 대체 접근 방식을 고려하세요.
위 내용은 다음은 다양한 질문 스타일을 활용한 몇 가지 제목 옵션입니다. 직접 및 집중: * PHP의 Compact() 및 extract()에 해당하는 Python: 유사한 기능을 달성하는 방법은 무엇입니까? * 교체의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!