ใน Python หนึ่งสามารถบันทึกไบต์โดย aliasing ฟังก์ชันที่ใช้ซ้ำ ๆ ตัวอย่างเช่น:
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
หมายในชั้นเรียนของคุณใช้