ชายหนุ่มกำลังพิมพ์โน้ตบุ๊กที่บ้าน
เครดิตรูปภาพ: g-stockstudio/iStock/Getty Images
ไม่เหมือนกับใน C++ และ Java ตัวแปร Python ไม่มีข้อมูลประเภทที่ชัดเจน หากคุณกำลังใช้ฟังก์ชันที่ต้องใช้สตริง คุณสามารถส่งตัวแปรประเภทอื่นไปให้โดยไม่ต้องใช้ ส่งข้อยกเว้นแม้ว่ารหัสของคุณอาจมีข้อยกเว้นเมื่อพยายามประมวลผลตัวแปร ชนิดข้อมูลเดียวที่คุณอาจต้องแปลงเป็นสตริงคือโครงสร้างข้อมูลแบบผสม เช่น ชุดและรายการ Python มีฟังก์ชันและโอเปอเรเตอร์ที่สะดวกสำหรับการวนซ้ำรายการในโครงสร้างข้อมูลและการผนวกอักขระเข้ากับตัวแปรสตริง
แข็งแกร่ง ภาษาที่พิมพ์แบบไดนามิก
C ++ และ Java ต้องใช้คำสงวนประเภทก่อนการจัดสรรตัวแปรทั้งหมด เนื่องจากคอมไพเลอร์หรือสภาพแวดล้อมรันไทม์ต้องรู้วิธีจัดการกับข้อมูล ภาษาที่พิมพ์แบบคงที่เหล่านี้ใช้การแคสต์ประเภทเพื่อแปลงระหว่างประเภทหากเป็นไปได้ เนื่องจาก Python เป็นภาษาที่พิมพ์แบบไดนามิก ล่ามจะสรุปประเภทที่รันไทม์ ดังนั้นคุณเพียงแค่กำหนดค่าให้กับตัวแปรตามต้องการ คุณสามารถกำหนดชนิดข้อมูลใดๆ ให้กับตัวแปรที่เคยใช้เป็นชนิดอื่นได้ และตัวรวบรวมขยะ Python จะลบตัวแปรเก่าออกจากหน่วยความจำ
วีดีโอประจำวันนี้
การแปลงโครงสร้างข้อมูลเป็นสตริง
หากโปรแกรมของคุณรวบรวมข้อมูลข้อความในโครงสร้างแบบผสม เช่น รายการ ทูเพิล หรือชุด คุณสามารถวนรอบโครงสร้างข้อมูลเพื่อผนวกองค์ประกอบเข้ากับตัวแปรสตริงได้ คุณไม่จำเป็นต้องประกาศตัวแปรสตริงก่อนที่จะวนซ้ำโครงสร้างข้อมูล แต่จะทำให้โค้ดของคุณง่ายขึ้นได้ ตัวอย่างเช่น รหัสต่อไปนี้แสดงให้เห็นถึงวิธีการพื้นฐานที่สุดสำหรับการแปลงรายการเป็นสตริง:
ultimateQuestion = "" # ประกาศสตริงว่าง "ultimateQuestion"
tokens = ["อะไรคือ ", 6, " ครั้ง ", 9, "?"] # รายการประเภทผสมกับช่องว่าง
สำหรับ t ในโทเค็น: ultimateQuestion += str (t)
พิมพ์ (คำถามสุดท้าย)
เมธอด str ที่ใช้ใน for วนซ้ำจำนวนเต็มเป็นสตริง และไม่มีผลกับสตริงที่มีอยู่ หากคุณรันโค้ดนี้ในล่าม Python มันจะพิมพ์ว่า "What's 6 times 9?"
วิธีการสตริงในตัว
เช่นเดียวกับภาษาระดับสูงส่วนใหญ่ Python มีวิธีการมากมายที่เป็นของประเภทสตริงในตัว ใน Python คุณสามารถเรียกเมธอดเหล่านี้จากลิเทอรัลสตริงได้ ดังนั้นหากต้องการเชื่อมอิลิเมนต์รายการเข้าด้วยกัน คุณสามารถส่งตัวแปร list ไปยังเมธอด join ของ string literal ดังในตัวอย่างต่อไปนี้:
โทเค็น = ['สวัสดี', 'โลก'] #สตริงโทเค็นโดยไม่มีช่องว่าง
pyString = ' '.join (โทเค็น)
พิมพ์ (pyString)
สคริปต์นี้เรียกการรวมจากตัวอักษรสตริง ' ' ซึ่งเป็นสตริงที่มีอักขระตัวเดียวของอักขระช่องว่าง มันเชื่อม 'สวัสดี' และ 'โลก' เข้าด้วยกันใน "สวัสดีชาวโลก" โดยการแทรกวัตถุที่เรียก - อักขระเว้นวรรค - ระหว่างองค์ประกอบแต่ละรายการ
ความละเอียดขอบเขตตัวแปรหลาม
เช่นเดียวกับภาษาระดับสูงอื่นๆ คุณต้องใส่ใจกับขอบเขตของตัวแปรเมื่อประกาศและกำหนดตัวแปรสตริง หากคุณประกาศตัวแปรสตริงภายในฟังก์ชันหรือลูป คุณจะไม่สามารถใช้ตัวแปรนี้ในที่อื่นในโปรแกรมได้ ตัวอย่างเช่น ล่าม Python ทำลายตัวแปร "verticalList" หลังจากกลับมาจากลูป:
สำหรับ g ในร้านขายของชำ: verticalList += g + '\n' # string ที่ประกาศอยู่ภายใน for loop
พิมพ์ (verticalList)
สคริปต์นี้แสดงข้อยกเว้นเนื่องจากไม่ได้กำหนด "verticalList" นอกขอบเขตของลูป for