파이썬에서는 반복적으로 사용되는 별칭 함수를 사용하여 바이트를 절약 할 수 있습니다. 예를 들면 다음과 같습니다.
r=range
a=r(100)
b=r(200)
c=r(300)
그러나 함수가 멤버 함수 인 경우 체인을 허용하는 방식으로 별칭을 지정하는 방법을 모르겠습니다. 예를 들면 다음과 같습니다.
s='Hello'
// Plain code
s=s.replace('H','J').replace('e','i').replace('l','m').replace('o','y')
// What I am trying to do
q=replace
s=s.q('H','J').q('e','i').q('l','m').q('o','y')
분명히, 내가하려는 것은 유효하지 않습니다. 그리고 이것도 아닙니다 :
q=s.replace
s=q('H','J') // Replaces the 'H' in 'Hello'
s=q('e','i') // Replaces the 'e' in 'Hello'... and the J is gone.
s=q('l','m')
s=q('o','y')
문자를 저장하는 멤버 함수와 체인 함수의 별칭을 지정하는 다른 방법이 있습니까?
q
해당 특정 str
인스턴스 의 replace 메소드에 바인딩됩니다 . 또한, 당신이 하나의 문자 교체를 할 수있는 기억"Hello".replace(*"HJ")
q
의미를 의미하는 방법으로 자신의 클래스를 정의하십시오replace
.