Trong Python, người ta có thể lưu byte bằng cách đặt các hàm bí danh được sử dụng nhiều lần. Ví dụ:
r=range
a=r(100)
b=r(200)
c=r(300)
Tuy nhiên, khi các chức năng là các chức năng thành viên với nhau, tôi không biết cách đặt bí danh cho chúng theo cách cho phép xâu chuỗi. Ví dụ:
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')
Rõ ràng, những gì tôi đang cố gắng làm là không hợp lệ. Và đây cũng không phải là:
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')
Có một cách khác để bí danh các chức năng thành viên và chức năng xâu chuỗi để lưu các ký tự?
q
bị ràng buộc với phương thức thay thế của str
trường hợp cụ thể đó. Ngoài ra, hãy nhớ rằng bạn có thể thực hiện thay thế char duy nhất với"Hello".replace(*"HJ")
q
có nghĩa là gìreplace
trong lớp bạn sử dụng.