Yaygın Python sözdizimi hatalarını anlama ve düzeltme

Yorumlar: 0

Her programlama dilinin takip ettiği bir dizi kural veya gramer vardır. Bu kuralların ihlal edilmesi python sözdizimi hataları dediğimiz ve kodunuzun başarısız olmasına neden olabilecek hatalara yol açar. İster yeni başlıyor olun ister yıllardır kod yazıyor olun, bu sorunlar herkesin başına gelir. Eğer hiç "Python'da söz dizimi hataları nelerdir?" diye merak ettiyseniz. Bu makale en yaygın olanları kapsar ve kodlama yaparken bunları nasıl düzelteceğinizi açıklar.

Yaygın Python hataları ve düzeltmeleri

Python'da bir sözdizimi hatası oluştuğunda, soruna işaret eden bir mesaj sağlar. Bu mesaj tipik olarak şunları içerir:

  • Sorunun meydana geldiği dosya adı ve satır numarası.
  • Hataya neden olan belirli kod satırı.
  • Yorumlayıcının kafasının karıştığı tam noktayı gösteren bir işaret (^).
  • Arızanın, sorunun niteliği hakkında ipucu veren bir açıklaması.

Python'da programcıların sıklıkla karşılaştığı sözdizimi hatalarına bir göz atalım.

Eksik veya uyumsuz parantezler

Yeni başlayanların yaptığı en yaygın hatalardan biri parantezleri kapatmayı unutmaktır. Bu özellikle fonksiyon çağrılarında ve iç içe geçmiş yapılarda yaygındır.

Örnek:

print("Hello, World!"

Іsorun mesajı:

1.png

Düzelt:

Tüm parantezlerin doğru şekilde kapatıldığından emin olun.

print("Hello, World!")

Python girinti hataları

Girinti, kod bloklarını belirtir. Girintileme ile ilgili bir sorun varsa Python sözdizimi hataları ortaya çıkabilir.

Örnek:

def greet():
print("Hello, World!")

Sorun mesajı:

2.png

Düzelt:

Kod bloğunu düzgün şekilde girintileyin.

def greet():
    print("Hello, World!")

Listelerde veya sözlüklerde eksik noktalama işaretleri

Listelerdeki veya sözlüklerdeki öğeler arasına virgül eklemeyi unutmak da sık yapılan bir başka hatadır.

Örnek:

fruits = {"type": "sweert" "name": "orange"}

Іsorun mesajı:

3.png

Düzelt:

"sweert" ve "name" arasına eksik virgül ekleyin.

fruits = {"type": "sweert", "name": "orange"}

Yanlış kullanılan Python ayrılmış anahtar sözcükleri

Bu tür anahtar kelimelerin yanlış kullanılması da sözdizimi sorunlarına neden olabilir. Anahtar kelimeler, özel anlamları olan ayrılmış kelimelerdir.

Örnek:

class = "Beginner"

Sorun mesajı:

4.png

Düzelt:

Ayrılmış bir anahtar kelime olmayan farklı bir ad seçin.

level = "Beginner"

Geçersiz değişken adları

Değişken adları belirli kurallara uygun olmalıdır. Sayı ile başlayan veya boşluk içeren gibi kural dışı değişken adları kullanmak Python sözdizimi hatalarına neden olur.

Örnek:

2name = "John"

Іsorun mesajı:

5.png

Düzelt:

Geçerli bir değişken adı kullanın.

name2 = "John"

Kapalı olmayan dizeler

Dizeler eşleşen tırnak işaretleri içine alınmalıdır. Bir dizeyi kapatmayı unutmak sözdizimi sorununa neden olur.

Örnek:

message = "Hello, World!

Іsorun mesajı:

6.png

Düzelt:

Dizenin aynı tür tırnak işaretiyle kapatıldığından emin olun.

message = "Hello, World!"

Bileşik ifadelerde eksik iki nokta üst üste

if, for, while veya def gibi bileşik bir koşullu ifadenin sonunda iki nokta üst üste (:) işareti eksikse bir sözdizimi sorunu ortaya çıkabilir.

Örnek:

def greet()
    print("Hello, World!")

Іsorun mesajı:

7.png

Düzelt:

Bileşik ifadenin sonuna iki nokta üst üste ekleyin.

def greet():
    print("Hello, World!")

Yanlış yerleştirilmiş Python atama operatörü

Operatörleri yanlış kullanmak Python sözdizimi hatalarına neden olabilir. Buna atama operatörleri ve karşılaştırma operatörleri de dahildir.

Örnek:

if x = 10:
    print("x is 10")

Іsorun mesajı:

8.png

Düzelt:

Doğru karşılaştırma operatörünü kullanın.

if x == 10:
    print("x is 10")

Python Kullanırken Sıkça Yapılan Hatalardan Kaçınmak İçin İpuçları

  1. Jupyter not defterleri veya VS Code ile düzenleme yapmak, düzenleyicide kod yazarken veya değiştirirken yaygın işaretleri ve sorunları vurgulayarak yardımcı olur.
  2. Kodu artımlı olarak yazın ve test edin: bu, Python kodunu sözdizimi hataları için erken kontrol etmenize ve izlenmesi zorlaşmadan önce bunları düzeltmenize yardımcı olur.
  3. Tutarlı girinti: karışıklığı ve sorunları önlemek için girinti için tutarlı bir boşluk veya sekme kullanımına sadık kalın
  4. Linting araçlarını kullanın: potansiyel olarak sorunlu kısımları ve kodlama standartlarına uyumu kontrol etmek için kodunuzda pylint veya flake8 çalıştırın.
  5. Belgelere başvurun: Dilin sözdizimi kurallarını ve geleneklerini anlamak için resmi belgeleri el altında bulundurun.

Uygulamada sözdizimi hatalarını ele alma

Herhangi bir hatayla karşılaşan ve python yerleşik hata ayıklayıcısı pdb'de sözdizimi hatalarının nasıl düzeltileceğini anlamaya yardımcı olan basit bir web kazıma betiğini ele alalım.

Web kazıma betiğinde pdb ile hata ayıklama

Orijinal kod:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles
    print(title.text)

Іsorun mesajı:

9.png

Düzelt:

for döngüsünden sonra eksik iki nokta üst üste işaretini ekleyin.

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles:
    print(title.text)

Hata ayıklamak için pdb kullanma:

Hata ayıklayıcıyı başlatmak için döngüden önce aşağıdaki satırı ekleyin.

import pdb; pdb.set_trace()

Kesme işaretleriyle birlikte karartma kodu ekleyin:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
import pdb; pdb.set_trace()
for title in titles:
    print(title.text)

Komut dosyasını çalıştırdığınızda, pdb hata ayıklayıcı kesme noktasında başlayacaktır.

> /path/to/your/script.py(10)()
-> for title in titles:
(Pdb)

Hata ayıklama komutları:

  • n (sonraki): bir sonraki kod satırını çalıştırır.
  • c (devam): bir sonraki kesme noktasına ulaşana kadar yürütmeye devam edin.
  • p variable_name: variable_name değerini yazdırır.

Örnek oturum:

(Pdb) n
> /path/to/your/script.py(11)()
-> print(title.text)
(Pdb) p titles
[<h1>Example Domain</h1>]
(Pdb) c
Example Domain

Pdb ile programınızda sürekli olarak adım atabilir, farklı değişkenlerin değerlerini gözlemleyebilir ve kodun nasıl yürütüldüğünü anlayarak sorunların hızlı bir şekilde tespit edilmesini ve düzeltilmesini sağlayabilirsiniz.

Python çalışma zamanı hatalarını önleme

Pdb kullanarak programınızda adım adım ilerleyebilir, önemli değişkenlerin değerlerini kontrol edebilir ve hataları ve mantık hatalarını izlemek için kontrol akışını takip edebilirsiniz. Sıfıra bölme, bir listedeki aralık dışı öğelere erişme veya tanımlanmamış değişkenler kullanma gibi sorunlar bu şekilde yakalayabileceğiniz yaygın sorunlardır.

Örnek:

numbers = [1, 2, 3]
print(numbers[3])

Іsorun mesajı:

10.png

Düzelt:

Geçerli liste endekslerine eriştiğinizden emin olun.

print(numbers[2])

İstisna işleme

Try-except blokları, sorunlara neden olabilecek kodları sarmalamanızı sağlar. Bu sorunları yakalayarak, kodunuzda sözdizimi hatalarıyla karşılaşsa bile programınız sorunsuz çalışmaya devam edebilir.

Örnek:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("You can't divide by zero!")

Son Düşünceler

Yaygın hatalara aşina olmak ve Python'daki sözdizimi hatalarının örneklerini incelemek her geliştiricinin yapması gereken bir şeydir. Tanılama mesajlarına ne kadar çok dikkat ederseniz - ve bunları ne kadar hızlı düzeltirseniz - kodunuz o kadar sorunsuz çalışacaktır. Çalışmanızı gerçekten destekleyen araçları ve ipuçlarını kullanın.

Yorumlar:

0 yorumlar