อักขระต่อเนื่องของบรรทัด Python ช่วยให้คุณต่อบรรทัดของโค้ดในบรรทัดใหม่ในโปรแกรมของคุณ อักขระต่อเนื่องของบรรทัดไม่สามารถตามด้วยค่าใดๆ ได้
หากคุณระบุอักขระหรือคำสั่งหลังอักขระต่อเนื่องของบรรทัด คุณพบข้อผิดพลาด "SyntaxError:อักขระที่ไม่คาดคิดหลังจากอักขระต่อเนื่องของบรรทัด"
ในคู่มือนี้ เราจะพูดถึงความหมายของข้อผิดพลาดนี้และสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้ขึ้น เราอธิบายสองตัวอย่างของข้อผิดพลาดนี้ในการใช้งานจริง เพื่อให้คุณสามารถเรียนรู้วิธีการใช้ในโค้ดของคุณ
SyntaxError:อักขระที่ไม่คาดคิดหลังอักขระต่อเนื่องของบรรทัด
อักขระต่อเนื่องของบรรทัดช่วยให้คุณเขียนสตริงยาวๆ ทับโค้ดหลายบรรทัดได้ อักขระนี้มีประโยชน์เพราะทำให้โค้ดอ่านง่ายขึ้น อักขระต่อเนื่องของบรรทัดคือแบ็กสแลช (“\”)
ในขณะที่การติดตามโค้ดที่ยาวมากๆ อาจเป็นเรื่องยาก แต่โค้ดหนึ่งบรรทัดที่แบ่งออกเป็นหลายบรรทัดจึงง่ายกว่า
อักขระต่อเนื่องของบรรทัดมักใช้เพื่อแยกโค้ดหรือเขียนสตริงยาวๆ ในโค้ดหลายบรรทัด:
url = "https://careerkarma.com" \ "/blog/python-syntaxerror-unexpected-character-after" \ "line-continuation-character"
เราได้แยกสตริงของเราออกเป็นสามบรรทัด ทำให้ง่ายต่อการอ่านโค้ดของเรา
สองสถานการณ์ที่อาจเกิดข้อผิดพลาดนี้ ได้แก่:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
- การใช้แบ็กสแลชแทนเครื่องหมายทับเป็นตัวดำเนินการหาร
- การเพิ่มบรรทัดใหม่ให้กับสตริงโดยไม่ต้องใส่อักขระขึ้นบรรทัดใหม่ในวงเล็บ
เราจะพูดถึงสถานการณ์เหล่านี้ทีละคน
สถานการณ์ #1:กองโดยใช้แบ็กสแลช
ที่นี่เราเขียนโปรแกรมที่คำนวณดัชนีมวลกายของบุคคล (BMI) ในการเริ่มต้น เราต้องขอให้ผู้ใช้ใส่ส่วนสูงและน้ำหนักลงในโปรแกรม Python:
height = input("What is your height? ") weight = input("What is your weight? ")
ต่อไปเราจะคำนวณค่าดัชนีมวลกายของผู้ใช้ สูตรคำนวณค่า BMI คือ
BMI = kg/m2
“กก” คือน้ำหนักของคนเป็นกิโลกรัม “ม 2 ” คือความสูงของคนยกกำลังสอง เมื่อแปลเป็น Python แล้ว สูตรคำนวณ BMI จะมีลักษณะดังนี้:
bmi = float(weight) \ (float(height) * 2) print("Your BMI is: " + str(bmi))
เราแปลงค่าของ "น้ำหนัก" และ "ส่วนสูง" เป็นตัวเลขทศนิยม เพื่อให้เราสามารถดำเนินการฟังก์ชันทางคณิตศาสตร์กับค่าเหล่านี้ได้
จากนั้นเราจะพิมพ์ BMI ของผู้ใช้ไปที่คอนโซล เราแปลง “bmi” เป็นสตริงโดยใช้เมธอด str() เพื่อให้เราสามารถต่อเข้ากับข้อความ “Your BMI is:” เราปัดเศษค่าของ "bmi" เป็นทศนิยมสองตำแหน่งโดยใช้วิธี round()
เรียกใช้รหัสของเรา:
File "main.py", line 4 bmi = float(weight) \ (float(height) * 2) ^ SyntaxError: unexpected character after line continuation character
เราพบข้อผิดพลาด เนื่องจากเราใช้ “\" เป็นตัวดำเนินการหารแทนเครื่องหมาย “/” เราแก้ไขโค้ดได้โดยใช้ตัวดำเนินการส่วน “/”:
bmi = float(weight) / (float(height) * 2) print("Your BMI is: " + str(round(bmi, 2)))
รหัสของเราส่งคืน:
What is your height? 1.70 What is your weight? 63 Your BMI is: 18.53
รหัสของเราคำนวณ BMI ของผู้ใช้สำเร็จแล้ว
สถานการณ์ #2:การใช้อักขระขึ้นบรรทัดใหม่ไม่ถูกต้อง
ต่อไป เราเขียนโปรแกรมที่เขียนรายการส่วนผสมลงในไฟล์ เราเริ่มต้นด้วยการกำหนดรายการส่วนผสมสำหรับสูตรขนมชนิดร่วน:
ingredients = [ "150g plain flour", "100g butter, chilled an cubed", "50g caster sugar" ]
ต่อไป เราเปิดไฟล์ชื่อ “shortbread_recipe.txt” ซึ่งเราจะเขียนรายการส่วนผสมของเรา:
with open("shortbread_recipe.txt", "w+") as ingredients_file: for i in ingredients: ingredients_file.write(i + \n)
รหัสนี้วนซ้ำทุกส่วนผสมในตัวแปร "ส่วนผสม" ส่วนผสมแต่ละรายการจะถูกเขียนลงในไฟล์ส่วนผสม ตามด้วยอักขระขึ้นบรรทัดใหม่ใน Python (“\n”) เพื่อให้แน่ใจว่าส่วนผสมแต่ละอย่างปรากฏในบรรทัดใหม่
เรียกใช้โค้ด Python ของเรา:
File "main.py", line 9 ingredients_file.write(i + \n) ^ SyntaxError: unexpected character after line continuation character
รหัสของเราส่งคืนข้อผิดพลาด เนื่องจากเราไม่ได้ใส่อักขระขึ้นบรรทัดใหม่ไว้ในเครื่องหมายคำพูด
แม้ว่าอักขระขึ้นบรรทัดใหม่จะเป็นอักขระพิเศษ แต่ต้องอยู่ภายในเครื่องหมายคำพูดทุกครั้งที่มีการใช้ เนื่องจาก Python ถือว่า “\" เป็นอักขระต่อเนื่องของบรรทัด
ในการแก้ไขข้อผิดพลาดในโค้ดของเรา เราต้องใส่อักขระขึ้นบรรทัดใหม่ด้วยเครื่องหมายคำพูดคู่:
with open("shortbread_recipe.txt", "w+") as ingredients_file: for i in ingredients: ingredients_file.write(i + "\n")
เรียกใช้รหัสของเรา รหัสของเราไม่คืนค่าให้กับคอนโซล ไฟล์ใหม่ชื่อ “shortbread_recipe.txt” จะถูกสร้างขึ้น เนื้อหามีดังนี้:
150g plain flour 100g butter, chilled an cubed 50g caster sugar
รหัสของเราพิมพ์รายการของเราลงในไฟล์ “shortbread_recipe.txt” สำเร็จแล้ว
บทสรุป
ข้อผิดพลาด "SyntaxError:อักขระที่ไม่คาดคิดหลังอักขระต่อเนื่องของบรรทัด" ปรากฏขึ้นเมื่อคุณเพิ่มโค้ดหลังอักขระต่อเนื่องของบรรทัด
เพื่อแก้ไขข้อผิดพลาดนี้ ตรวจสอบให้แน่ใจว่าคุณใช้ตัวดำเนินการหารที่ถูกต้อง (เครื่องหมายทับ) หากคุณกำลังดำเนินการทางคณิตศาสตร์ หากคุณกำลังใช้อักขระพิเศษใดๆ ที่มีแบ็กสแลช เช่น อักขระขึ้นบรรทัดใหม่ ตรวจสอบให้แน่ใจว่าอยู่ภายในเครื่องหมายคำพูด
ตอนนี้คุณพร้อมที่จะแก้ไขข้อผิดพลาดนี้ในโค้ดของคุณแล้ว!