ใน Python 3 คุณต้องใส่วงเล็บปิดคำสั่งการพิมพ์ทั้งหมด หากคุณพยายามพิมพ์สตริงไปยังคอนโซลโดยไม่ใส่สตริงในวงเล็บ คุณจะพบข้อผิดพลาด "SyntaxError:Missing parentheses in call to 'print'"
คู่มือนี้จะอธิบายความหมายของข้อผิดพลาดนี้และวิธีใช้คำสั่งพิมพ์ใน Python เราจะอธิบายตัวอย่างข้อผิดพลาดนี้เพื่อให้คุณได้เรียนรู้วิธีแก้ไข
SyntaxError:ไม่มีวงเล็บในการเรียกให้ "พิมพ์"
Python 3 เป็นการอัพเดทครั้งใหญ่ครั้งที่สามของภาษาการเขียนโปรแกรม ในช่วงไม่กี่ปีที่ผ่านมา มันได้กลายเป็นเวอร์ชันที่นิยมใช้ของ Python
Python 3 เปลี่ยนวิธีการเขียนคำสั่งการพิมพ์ สแตนด์อโลน print
คำสั่งทำงานใน Python 2 และพิมพ์คำสั่งไปยังคอนโซล
ใน Python 3 print
เป็นฟังก์ชัน ซึ่งหมายความว่าคุณต้องล้อมรอบเนื้อหาของสตริงที่คุณต้องการพิมพ์ไปยังคอนโซลในวงเล็บเหมือนกับที่คุณทำกับการเรียกใช้ฟังก์ชันทั่วไป
ตัวอย่างสถานการณ์
เขียนโปรแกรมที่พิมพ์ชื่อนักเรียนทุกคนในชั้นประถมศึกษาปีที่ 4 ที่มีชื่อขึ้นต้นด้วย "A" ในการเริ่มต้น ให้กำหนดรายชื่อที่มีชื่อของนักเรียนในชั้นเรียน:
students = ["Alex", "Alexander", "Piper", "Molly", "Hannah"]
ถัดไป เขียน for loop ที่วนซ้ำทุกรายการในรายการนี้ ใน for loop เราจะใช้ if
คำสั่งตรวจสอบว่าแต่ละชื่อขึ้นต้นด้วย “A” หรือไม่:
for s in students: if s.startswith("A") == True: print s
startwith() วิธีการตรวจสอบว่าสตริงเริ่มต้นด้วยอักขระเฉพาะหรือชุดอักขระ รหัสตรวจสอบว่าแต่ละชื่อในรายการ "นักเรียน" ขึ้นต้นด้วย "A" หรือไม่
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
เพิ่มคำสั่งพิมพ์พิเศษต่อท้ายโค้ดที่บอกเราว่าโปรแกรมทำงานเสร็จแล้ว:
print "Above are all the students whose names begin with A."
ตอนนี้คุณพร้อมที่จะรันโปรแกรมแล้ว:
File "main.py", line 5 print s ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(s)?
รหัสแจ้งให้เราทราบว่ามีข้อผิดพลาดทางไวยากรณ์ในโปรแกรม
การแก้ปัญหา
อย่างสะดวก Python ได้เสนอวิธีแก้ปัญหาในข้อความแสดงข้อผิดพลาดแล้ว
เนื่องจากในเวอร์ชันก่อนหน้าของ Python 3 การลืมใส่วงเล็บรอบคำสั่งการพิมพ์ทำให้เกิดข้อผิดพลาดซึ่งแสดงเฉพาะ "ไวยากรณ์ที่ไม่ถูกต้อง" ข้อความนี้ไม่ชัดเจนเนื่องจากไวยากรณ์ที่ไม่ถูกต้องอาจเกิดจากปัญหาหลายประการ ดังนั้น Python จึงแนะนำข้อความแสดงข้อผิดพลาด "วงเล็บที่หายไป" ใหม่เพื่อช่วยผู้ใช้เป็นหลัก
ในการแก้ปัญหานี้ ให้ใส่ค่าทั้งหมดที่คุณต้องการพิมพ์ลงในคอนโซลในวงเล็บ:
for s in students: if s.startswith("A") == True: print(s) print("Above are all the students whose names begin with A.")
คุณได้ใส่ “s” บน print
โค้ดในวงเล็บ คุณยังใส่สตริงสุดท้ายที่คุณพิมพ์ไปยังคอนโซลในวงเล็บ มาดูกันว่าโปรแกรมทำงานหรือไม่:
Alex Alexander Above are all the students whose names begin with A.
รหัสของเราแสดงให้เราเห็นว่ามีนักเรียนสองคนที่มีชื่อขึ้นต้นด้วย A เมื่อทำซ้ำรายชื่อนักเรียนแล้ว โปรแกรมของเราจะพิมพ์ข้อความที่อธิบายผลลัพธ์
บทสรุป
ข้อผิดพลาด Python “SyntaxError:ไม่มีวงเล็บในการเรียกใช้ 'พิมพ์'” ปรากฏขึ้นเมื่อคุณพยายามพิมพ์ค่าไปยังคอนโซลโดยไม่ใส่ค่านั้นในวงเล็บ
ในการแก้ไขข้อผิดพลาดนี้ ให้เพิ่มวงเล็บรอบๆ ข้อความสั่งใดๆ ที่คุณต้องการพิมพ์ไปยังคอนโซล นี่เป็นเพราะใน Python 3 print
ไม่ใช่คำสั่ง มันเป็นฟังก์ชั่น คุณต้องเรียกใช้ฟังก์ชันโดยใช้วงเล็บหากต้องการเรียกใช้
ตอนนี้คุณมีความรู้ที่จำเป็นในการแก้ไขข้อผิดพลาดทั่วไปของ Python อย่างมืออาชีพแล้ว!