Python 함수 (def)를 변경하여 변경 불가능한 형식에서도 참조로 결과를 반환 할 수있는 방법이 있습니까?Python : 참조 변수 (해킹)
제안서 응용 프로그램 (서브 루틴 스왑) :
def swap(a, b):
.....a,b = b,a
참고 :이 질문의 답 아닌 함수로
def swap(a, b):
.....return b,a
작품!
예를 들어 in-place에서 작동하는 random.shuffle (a) 함수가 있습니다. 제 아이디어는 Fortran/C++로 작성된 함수를 호출하고 파이썬을 통해 호출하는 것입니다. 작동하지만 단점도 있습니다.
참고 :
""과 "def
"모두 기능상 다음과 같은 문제가 있습니다. a, b = swap(a, b)
변수 순서에주의해야합니다. 내 제안 (가능한 경우) 서브 루틴은 swap(a, b)
같이 사용되므로 변수의 순서를 신경 쓸 필요가 없습니다.
내가 바로 그것을 가지고 있다면 나도 몰라,하지만 당신은'lambda' 기능을 찾고있는 것 같다. 더 자세한 설명과 예를 들려 줄 수 있습니까? – heltonbiker
아니요 당신은 그 사실을 확실히 원하지 않습니다. – JBernardo
"lambda"와 "def"(함수로)는 모두 다음과 같은 문제가 있습니다 : 변수의 순서를 신경 써야하는'a, b = swap (a, b)'. 내 제안에서 (가능한 경우) 서브 루틴은'swap (a, b)'로 사용되므로 변수의 순서를 신경 쓰지 않아도됩니다. – Developer