วากยสัมพันธ์คือกฎที่กำหนดวิธีการเขียนภาษาโปรแกรม แต่ละภาษามีชุดกฎไวยากรณ์ที่แตกต่างกันไป เราสามารถนึกถึงไวยากรณ์หรือเครื่องหมายวรรคตอนในภาษาพูดได้ เครื่องหมายคำถามเป็นภาษาอังกฤษ (?) ต่างจากเครื่องหมายคำถามในภาษากรีก (;)
คุณสามารถสรุปได้ว่าเมื่อคุณได้รับข้อผิดพลาดทางไวยากรณ์ แสดงว่าคุณกำลังเขียนภาษาโปรแกรมไม่ถูกต้อง คุณอาจละเว้นหรือใช้ไวยากรณ์จากภาษาอื่นโดยไม่ได้ตั้งใจ ซึ่งเป็นสิ่งที่มักเกิดขึ้นเมื่อนักพัฒนาพัฒนาสแต็กเทคโนโลยีของตน
ในบทความนี้ เราจะเจาะลึกเกี่ยวกับ Python SyntaxErrors ทั่วไป ให้ตัวอย่าง และแสดงวิธีแก้ไขให้คุณ
ข้อผิดพลาดทางไวยากรณ์ทั่วไปและวิธีการแก้ไข
พจนานุกรม
พยายามหาสาเหตุที่ทำให้เกิดข้อผิดพลาดทางไวยากรณ์ในโค้ดด้านล่าง
student_gpas ={ 'Mary':3.0, 'Tim':2.5 'John':4.0}print(f'Mary has a {student_gpas["Mary"]} GPA.') # ส่งคืน SyntaxError:ไวยากรณ์ที่ไม่ถูกต้อง ก่อน>หากคุณพูดว่า "ไม่มีเครื่องหมายจุลภาคหลังคู่ค่าคีย์ 2.5" คุณพูดถูก พจนานุกรม เช่น อ็อบเจ็กต์ใน JavaScript ต้องมีเครื่องหมายจุลภาคหลังคู่ค่าคีย์แต่ละคู่ ยกเว้นคู่ค่าคีย์สุดท้าย
วิธีแก้ไขข้อผิดพลาดด้านบนอยู่ด้านล่าง
student_gpas ={ 'Mary':3.0, 'Tim':2.5, 'John':4.0}print(f'Mary has {student_gpas["Mary"]} GPA.') # ส่งคืน Mary มี 3.0 GPA .คำคม
พยายามหาสาเหตุที่ทำให้เกิดข้อผิดพลาดทางไวยากรณ์ในโค้ดด้านล่าง
print('ครูของ Mary ระบุว่าเธอมีเกรดเฉลี่ย 3.0') # คืนค่า SyntaxError:ไวยากรณ์ที่ไม่ถูกต้องหากคุณพูดอะไรบางอย่างเกี่ยวกับ "การใช้คำพูดประเภทเดียวกันภายในคำพูด" คุณจะถูกต้อง มีหลายวิธีในการหลีกเลี่ยงข้อผิดพลาดทางไวยากรณ์เมื่อใช้เครื่องหมายคำพูดใน Python
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
1. การใช้เครื่องหมายอัญประกาศ
print("ครูของแมรี่แจ้งว่าเธอมีเกรดเฉลี่ย 3.0")2. การใช้แบ็กสแลช
print('ครูของแมรี่แจ้งว่าเธอมีเกรดเฉลี่ย 3.0')การใช้ไวยากรณ์ใหม่กับ Python เวอร์ชันเก่า
ตรวจสอบให้แน่ใจว่าไวยากรณ์ที่คุณใช้เข้ากันได้กับ Python เวอร์ชันที่คุณใช้ ตัวอย่างเช่น Python เวอร์ชันก่อน 3.6 จะไม่สามารถรับรู้ f-strings และจะส่งข้อผิดพลาดทางไวยากรณ์ที่ไม่ถูกต้องหากคุณเรียกใช้ไวยากรณ์ นักพัฒนาสามารถอัปเดตเวอร์ชันหรือใช้ไวยากรณ์ที่เข้ากันได้สำหรับเวอร์ชันที่กำหนด
student_gpas ={ 'Mary':3.0, 'Tim':2.5, 'John':4.0}print(f'Mary has a {student_gpas["Mary"]} GPA.') # ส่งคืน SyntaxError:ไวยากรณ์ที่ไม่ถูกต้องใน Python เวอร์ชันเก่าการใช้คีย์เวิร์ด Python อย่างไม่เหมาะสม
วิธีที่ดีที่สุดที่จะทราบว่าคุณใช้คำหลัก Python อย่างไม่เหมาะสมหรือไม่ คือการรู้ว่าคำหลักเหล่านั้นคืออะไรและใช้สำหรับทำอะไรใน Python สำหรับภาพรวมเชิงลึกเกี่ยวกับคีย์เวิร์ด Python บางคำ โปรดดูบทความ วิธีใช้ Python ไม่ใช่คีย์เวิร์ด คีย์เวิร์ดของ Python Yield:A Guide และ Python อาร์กิวเมนต์ตำแหน่งตามอาร์กิวเมนต์ของคีย์เวิร์ด โซลูชัน
พยายามหาสาเหตุที่ทำให้เกิดข้อผิดพลาดทางไวยากรณ์ในโค้ดด้านล่าง
continue =True print(continue) # คืนค่า SyntaxError:ไวยากรณ์ไม่ถูกต้องหากคุณตอบว่า “เพราะเรากำลังตั้งค่าให้กับคีย์เวิร์ด” คุณคิดถูก Continue เป็นคีย์เวิร์ดในภาษา Python ที่ใช้ในการวนซ้ำลูปต่อไป การแก้ไขข้างต้นคือการตั้งค่าบูลีน True เป็นชื่อตัวแปรที่ไม่ใช่คีย์เวิร์ด Python
on =True print(on) # คืนค่า True