Pythonでは、繰り返し使用される関数をエイリアスすることでバイトを節約できます。例えば:
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
あなたの使用してクラスの手段。