У 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
примірника. Крім того, пам’ятайте, що ви можете робити замінники одиночних символів"Hello".replace(*"HJ")
q
означає, щоreplace
означає клас, який ви використовуєте.