len()
เพื่อวนเรียกตัวอักษรแต่ละตัวออกมาได้หมายเหตุไว้ว่า string ของ Python เป็น immutable type คือเราจะไปเปลี่ยนค่า char บางตัวของ string ที่ถูกสร้างขึ้นมาแล้วไม่ได้ครับ (เพื่อป้องกัน segmentation fault) ครับ
อนึ่ง สำหรับการวน
for
ตามตัวอย่างข้างบน สามารถเขียนให้สั้นลงได้อีก เป็นเราจะได้เห็นเทคนิคการวน
for
ในลักษณะนี้อีกเรื่อยๆ ครับแม้ว่า string จะเป็น immutable แต่ก็ไม่ต้องวิตกครับ เราสามารถสร้าง string ใหญ่จาก string เล็กๆ ได้อย่างนี้
ส่วนการแตก string ให้เล็กลงนั้น เราจะใช้เทคนิคการ slice ครับ แต่ก่อนอื่น ขอให้ดูแผนภาพนี้
การสไลด์ string ให้เล็กลงนั้น จะใช้
[begin:end]
ตามหลัง string ครับ (จะได้ string ใหม่กลับมา) โดยที่ begin ต้องอยู่ก่อน end ถึงจะได้ผลลัพท์กลับมาครับ (แต่สามารถละ begin/end ได้)ส่งท้ายนิดหน่อยด้วยการเล่นกับ
print()
เพื่อพิมพ์ข้อความออกมาครับหรือเราจะใช้
%
(percent sign) ทำคล้ายๆ กับภาษา C ก็ได้เพียงแต่ว่าวิธีนี้กำลังถูกเลิกสนับสนุน Python ครับ (อ้าว แล้วจะใช้วิธีไหนแทน? ขอยกยอดไปตอนหน้านะครับ)
ตอนแรก msg[:] ได้ 'abcde' แล้วทำไมตอนท้าย msg[:] ถึงได้ '' ล่ะครับ???
ReplyDeleteส่วน print แปลก ๆ python 2.x ทำไม่ไดสินะ T-T
จริงด้วย ผม draft ไว้แล้วมันหลุดออกมาอะครับ ^^a
ReplyDeletemsg[:-2] #'abc'ใช่ไหมค่ะ
ReplyDeleteจริงด้วย แก้แล้วครับ ^^"
Delete