파이썬에서 로컬 변수를 바인딩하는 좋은 방법이 있는지 궁금합니다. 대부분의 작업에는 짧은 데이터 나 텍스트 처리 스크립트를 일련의 표현식 (파이썬이 허용하는 경우)과 함께 사용하여 객체 클래스를 정의하고 (이름 공간으로 사용) 인스턴스화하는 방법이 있습니다.파이썬에서 로컬 변수 바인딩하기
data = [1,2,3]
output = ((lambda x: x + x)
(data[2]))
입니다 함께
그래서 내가 생각했던 당신이 파이썬에서
(setq data '(1 2 3))
(setq output
(let ((x (nth 2 data)))
x + x))
처럼 뭔가를 할 수 (공통) 혀짤배기에서 같은 것이 있었다 최고의 내가 올 수 이것들은 물론 매우 간단한 예제이지만 lisp에서 let 또는 let만큼 확장 가능한 것이 있을까요? ? 클래스에게 가장 좋은 방법을 정의하는 것은 ... 로컬 네임 스페이스를 만들로 이동합니다 (그러나 좀 덜 상호 작용하는 방법을 느낌)하는
편집 : 그래서 더, 내가 원하는 (애매 내 사과) 의도를 설명하기 전역 변수의 사용을 줄입니다. 그래서 위의 경우, 필자는 추출 연산자를 반복하지 않으려는 모든 유형의 연산의 일반적인 경우로 사용하려고했습니다. 예를 들어, 하나는 하나
output = data[2] + data[2]
또는
x = data[2]
output = x + x
del x
이 같은 결과를 달성하기 위해 작성할 수 있습니다. 본질적으로 '데이터'에 대한 원하는 작업이 두 번째 항목을 가져 오는 것이 더 복잡하면 여러 번 입력하거나 컴퓨터가 동일한 표현식의 값을 필요한 것보다 더 많이 계산하게하지 마십시오. 따라서 대부분의 경우 연산 결과 (이 경우에는 data [2] 또는 operator.itemgetter (2) (data))를 전역 공간의 일부 변수에 할당하지만 주변 변수를 남기려는 혐오감이 있습니다 전역 공간에서 중간 값을 계산에 저장할 필요가 있다면 ... 'del'명령을 즉시 사용하십시오. 로컬 환경 또는 네임 스페이스를 정의하고 중간 결과를 로컬 변수에 바인딩하는 것이 이상적인 대안입니다.
확인, 내 대답이 업데이트되었습니다. –