ยินดีต้อนรับสู่การบรรยายครั้งที่สามในหลักสูตรความผิดพลาด
ในการบรรยายนี้ เราจะเรียนรู้การจัดการกับสตริงใน Python เตรียมข้าวโพดคั่วของคุณให้พร้อมและนั่งให้แน่น
Strings
อันดับแรก มาพูดถึงคำพูดและขจัดความสับสนที่อาจแนะนำใน Python
ตามที่ระบุไว้ก่อนหน้านี้ เราสามารถใช้ทั้งเครื่องหมายคำพูดเดี่ยวและคู่หลังฟังก์ชันใน Python มียูทิลิตี้เฉพาะของสิ่งนี้ สมมติว่าคุณต้องการพิมพ์อะไรแบบนี้
print('This is Shahbaz's computer')
ในนิพจน์ข้างต้น ทุกอย่างหลังเครื่องหมายคำพูดที่สองใน "Shahbaz's" จะไม่ถูกระบุโดยล่าม python เนื่องจาก Python จะใช้เครื่องหมายคำพูดที่สองเป็นจุดสิ้นสุดของสตริง ในกรณีนั้น คุณต้องใช้เครื่องหมายคำพูดคู่เพื่อประกาศสตริงดังนี้:
print("This is Shahbaz's computer")
นอกจากนี้ยังสามารถใช้ในทางกลับกัน และเราสามารถใช้เครื่องหมายคำพูดเดี่ยวได้หากมีเครื่องหมายอัญประกาศคู่อยู่ภายในสตริง เช่น
print('This "computer" belongs to Shahbaz')
ตอนนี้ ถ้าคุณต้องการพิมพ์สตริงที่ครอบคลุมหลายบรรทัด คุณจะต้องใช้เครื่องหมายอัญประกาศสามตัวเพื่อใส่สตริงนั้น เครื่องหมายคำพูดเหล่านี้อาจเป็นแบบเดี่ยวหรือแบบคู่ก็ได้ ขึ้นอยู่กับเนื้อหาของสตริง ตัวอย่างเช่น:
ตอนนี้ สมมติว่าคุณต้องการพิมพ์อักขระเฉพาะจากสตริง คุณจะทำอย่างนั้นได้อย่างไร?
ล่าม Python จัดทำดัชนีอักขระในสตริงดังนี้:
ดังที่คุณเห็นในเทอร์มินัล พิมพ์ 'h' เท่านั้น นั่นเป็นเพราะเราได้เลือกเฉพาะอักขระตัวที่สามในสตริงของเราเพื่อพิมพ์บนเทอร์มินัลโดยเขียน 3 ในวงเล็บเหลี่ยมให้เขียนตามหลังตัวแปร ล่าม Python ยังสร้างดัชนีอักขระเป็นค่าลบเพื่อลดความซับซ้อนของสตริงขนาดใหญ่ นั่นหมายความว่า '-1' จะเป็นตัวเลขสุดท้ายในสตริงเป็นต้น โปรดทราบว่าช่องว่างไม่ได้รับการจัดทำดัชนี ซึ่งหมายความว่าสตริงด้านบนจะมีช่องว่างที่จัดทำดัชนีเพียง 21 ช่องเท่านั้น
คุณยังสามารถเลือกชุดอักขระจากสตริงได้อีกด้วย เช่น
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
โปรแกรมนี้จะพิมพ์ 'Pyt' บนเทอร์มินัล ดัชนี 3 ไม่รวมอยู่ในนี้
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
ในทำนองเดียวกัน หากเราไม่ระบุดัชนีสิ้นสุด หลามจะพิมพ์สตริงทั้งหมดหลังดัชนีแรก ผลลัพธ์ของโปรแกรมนี้จะเป็น 'thon Course by Shahbaz' สิ่งนี้ถือในทางกลับกัน เช่น ถ้าเราพลาดดัชนีแรก สตริงทั้งหมดตั้งแต่เริ่มต้นจนถึงดัชนีที่กำหนดล่าสุดจะถูกพิมพ์
โปรแกรมที่มีเฉพาะโคลอนในวงเล็บดัชนีจะให้สตริงที่สมบูรณ์บนเทอร์มินัล
ออกกำลังกาย
นี่คือแบบฝึกหัดที่น่าสนใจ
เขียนโปรแกรมที่กำหนดช่วงดัชนีของ [1:-1] คุณคิดว่าผลงานจะเป็นอย่างไร ลองด้วยตัวคุณเอง
สตริงที่จัดรูปแบบ
สตริงที่จัดรูปแบบมีประโยชน์อย่างยิ่งในสถานการณ์ที่คุณสร้างข้อความแบบไดนามิกด้วยตัวแปรของคุณ ให้ผมแสดง.
สมมุติว่าเรามีตัวแปรสองตัวคือชื่อและนามสกุล
first_name = 'Shahbaz'
last_name = 'Bhatti'
ตอนนี้เราต้องการพิมพ์ 'Shahbaz [Bhatti] is a coder' บนเทอร์มินัล เราจะทำอย่างนั้นได้อย่างไร? เราจะแนะนำตัวแปรที่สามดังนี้:
message = 'first_name + ' [' + last_name + '] is a coder'
ตอนนี้ถ้าเราพิมพ์และเรียกใช้โปรแกรมนี้ เราจะได้รับ 'Shahbaz [Bhatti] is a coder' บนเทอร์มินัล
แม้ว่าวิธีการนี้จะได้ผลอย่างสมบูรณ์ แต่ก็ไม่เหมาะเพราะเมื่อข้อความของเรามีความซับซ้อนมากขึ้น การแสดงภาพผลลัพธ์จะยากขึ้น นี่คือที่ที่เราใช้สตริงที่จัดรูปแบบ ซึ่งช่วยให้เราเห็นภาพเอาต์พุตได้ง่ายขึ้น
มาเปลี่ยน 'ข้อความ' ตัวแปรที่สามและแนะนำสตริงที่จัดรูปแบบ ในการกำหนดสตริงที่จัดรูปแบบ ให้นำหน้าสตริงด้วย ' f ' จากนั้นใช้วงเล็บปีกกาเพื่อแทรกค่าลงในสตริงแบบไดนามิก โปรแกรมของเราจะมีลักษณะดังนี้:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
ในการกำหนดสตริงที่จัดรูปแบบ ให้นำหน้าสตริงด้วย F แล้วใช้วงเล็บปีกกาเพื่อแทรกค่าลงในสตริงแบบไดนามิก
สิ่งดีๆ ที่คุณทำได้ด้วย Python Strings
ฉันจะแสดงให้คุณเห็นถึงสิ่งดีๆ ที่คุณสามารถทำได้ด้วยสตริง Python
1. จำนวนอักขระในสตริง
เริ่มต้นด้วยการกำหนดตัวแปร:
message = 'Shahbaz Bhatti is a Coder '
ตอนนี้ ถ้าฉันต้องการกำหนดจำนวนอักขระในสตริงด้านบน มีฟังก์ชัน ” len ” ในตัวใน Python เพียงพิมพ์ตัวแปรด้วยฟังก์ชันแบบนี้
print(len(message))
สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณได้รับข้อมูลจากผู้ใช้ ตัวอย่างเช่น คุณสังเกตเห็นว่าเมื่อคุณกรอกแบบฟอร์มออนไลน์ ช่องป้อนข้อมูลแต่ละช่องมักจะมีขีดจำกัด ตัวอย่างเช่น คุณอาจมีอักขระ 50 ตัวสำหรับชื่อของคุณ ดังนั้นการใช้ฟังก์ชัน ” len” นี้ เราสามารถบังคับใช้การจำกัดจำนวนอักขระในช่องป้อนข้อมูลได้
2. การแปลงอักขระในสตริงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก
เราสามารถเข้าถึงฟังก์ชันที่เกี่ยวข้องกับสตริงผ่านตัวดำเนินการจุด คุณสามารถพิมพ์ชื่อตัวแปรของคุณ และใส่จุดไว้ข้างหน้า คุณจะเห็นรายการฟังก์ชันดังกล่าวทั้งหมด
ในแง่ที่ถูกต้องมากขึ้น คุณอ้างถึงฟังก์ชันเหล่านี้เป็นเมธอด ซึ่งเป็นคำศัพท์ในการเขียนโปรแกรมเชิงวัตถุที่เราต้องการดูในอนาคต แต่สำหรับตอนนี้ สิ่งที่ผมอยากให้คุณนำออกไปคือเมื่อฟังก์ชัน เป็นของอย่างอื่นหรือเฉพาะกับวัตถุบางประเภทเราอ้างถึงฟังก์ชันนั้นเป็นวิธีการ ในกรณีนี้ เราจะใช้วิธี “upper” เพื่อแปลงสตริงเป็นตัวพิมพ์ใหญ่
เนื่องจากฟังก์ชันนี้ใช้เฉพาะกับสตริง เราจึงเรียกฟังก์ชันนี้ว่าเป็นเมธอด ตรงกันข้าม "len" และ "print" เป็นฟังก์ชันเอนกประสงค์ พวกมันไม่ได้เป็นของสตริงหรือตัวเลขหรือวัตถุประเภทอื่น นี่คือความแตกต่างพื้นฐานระหว่างฟังก์ชันและวิธีการ
ทีนี้มาพิมพ์กัน
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
และเราจะเห็นว่าเราได้สตริงเป็นตัวพิมพ์ใหญ่ ในทำนองเดียวกัน เรามีวิธีการ "ต่ำกว่า" เพื่อแปลงสตริงเป็นตัวพิมพ์เล็ก คุณยังสามารถใช้วิธี "ชื่อ" เพื่อทำให้แต่ละคำในสตริงเป็นตัวพิมพ์ใหญ่ได้
โปรดทราบว่าวิธีการนี้จะไม่เปลี่ยนแปลงหรือแก้ไขสตริงเดิมของเรา อันที่จริงแล้ว มันสร้างสตริงใหม่และส่งคืน
3. ค้นหาลำดับของอักขระในสตริง
ลองใช้วิธีอื่นเพื่อค้นหาดัชนีของอักขระเฉพาะในสตริง
ประเภทงาน:
message.find('b')
หลังตัวแปรเดียวกันแล้วพิมพ์ออกมา มันจะพิมพ์ดัชนีของการเกิดครั้งแรกของตัวอักษร 'b' ในสตริงซึ่งเป็น 4 ในกรณีนี้
โปรดทราบว่าวิธีนี้คำนึงถึงขนาดตัวพิมพ์และจะส่งกลับ -1 หากไม่พบอักขระในสตริง สามารถใช้สำหรับลำดับของอักขระได้
ตัวอย่างเช่น โปรแกรมต่อไปนี้:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
จะคืนค่าเป็น "20" เนื่องจากลำดับ "coder" เริ่มต้นจากดัชนี 20
4. การแทนที่อักขระในสตริง
คุณสามารถใช้วิธีการ “แทนที่” เพื่อแทนที่อักขระหรือลำดับของอักขระในสตริง ลองดูสิ่งนี้ในการดำเนินการ
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
โปรแกรมนี้จะแทนที่คำว่า "coder" ด้วย "programmer" และพิมพ์ลงบนเทอร์มินัล
5. ตรวจสอบการมีอยู่ของตัวละครในสตริง
ขณะนี้ มีบางกรณีที่คุณต้องการตรวจสอบการมีอยู่ของอักขระหรือลำดับของอักขระในสตริงของคุณ ในสถานการณ์เหล่านั้น คุณสามารถใช้รูปแบบนิพจน์ของคุณดังนี้:
message = 'Shahbaz Bhatti is a coder'
พิมพ์ ('python' ในข้อความ)
ตอนนี้จะคืนค่าฟังก์ชันบูลีน เช่น "จริง" หรือ "เท็จ" แบบนี้;
โปรดทราบว่าวิธีการและฟังก์ชันเหล่านี้ทั้งหมดคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
สรุป!
สตริงมีอีกมากที่เราจะเรียนรู้ทีละน้อยเมื่อเราก้าวไปข้างหน้า ต่อไป เราจะเรียนรู้การดำเนินการทางคณิตศาสตร์ใน Python
เขียนความเห็น