Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python SyntaxError:ไวยากรณ์ไม่ถูกต้อง

วากยสัมพันธ์คือกฎที่กำหนดวิธีการเขียนภาษาโปรแกรม แต่ละภาษามีชุดกฎไวยากรณ์ที่แตกต่างกันไป เราสามารถนึกถึงไวยากรณ์หรือเครื่องหมายวรรคตอนในภาษาพูดได้ เครื่องหมายคำถามเป็นภาษาอังกฤษ (?) ต่างจากเครื่องหมายคำถามในภาษากรีก (;)

คุณสามารถสรุปได้ว่าเมื่อคุณได้รับข้อผิดพลาดทางไวยากรณ์ แสดงว่าคุณกำลังเขียนภาษาโปรแกรมไม่ถูกต้อง คุณอาจละเว้นหรือใช้ไวยากรณ์จากภาษาอื่นโดยไม่ได้ตั้งใจ ซึ่งเป็นสิ่งที่มักเกิดขึ้นเมื่อนักพัฒนาพัฒนาสแต็กเทคโนโลยีของตน

ในบทความนี้ เราจะเจาะลึกเกี่ยวกับ 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