Python’da yorum ifadelerini hash karakteri (#
) ile başlatırız. Bu şekilde satır sonuna kadar olan tüm metni yoruma dönüştürürüz. Yorumlar, derleyici tarafından okunurken görmezden gelinir.
Python stil rehberi yorum kullanımının aşağıdaki gibi olmasını söyler:
# Bu satır bir yorum
# Bu satır da.
Yorumların doğru kullanımı subjektif bir konu olsa da, ana hatları ile aşağıdaki kuralları uygulamamız yararlı olacaktır:
- Fonksiyon yorumlarını yazarken fonksiyonun ne için kullanıldığını anlatacak şekilde yazarız.
- Yazdığımız kod herhangi bir varsayımda bulunuyorsa (örneğin sisteme ait varsayım) ya da global bir değişken kullanıyorsa bunları belirtiriz.
- ASCII art kullanımına dikkat ederiz. Uzun satırlar yorumun okunmasını kolaylaştırıyor olsa da, birçoğumuz için sinir bozucu olacaktır – özellikle yorumu değiştirmemiz gerektiğinde.
- Dil tarafından sağlanan otomatik dökümantasyon özelliklerini dikkate alırız.
Python’da birden fazla satırda yorum nasıl yazarız?
Öncelikle, Python’da boşluk karakterleri (girintiler) oldukça önemli olduğu için birden fazla satırda yorum yapmak için özel bir söz öbeği varsayılan olarak implement edilmemiştir. Ancak, Python’un yaratıcısı Guido van Rossum‘un bir twitinde söylediği gibi üçlü-tırnak kullanabiliriz:
Aslında, üçlü tırnak ifadelerini class/fonksiyon/modül tanımlarının başında kullanılırsak docstring oluştururuz. Diğer durumlarda ise bu ifadeler (yorumlar gibi algınarak) görmezden gelinir.
'''
Bu satır bir yorum
Bu satır da.
'''
Dikkat: IndentationError
almamak için bu satırları da girintiye uygun yazmalıyız.
Dolayısıyla doğru bir şekilde bir çok satırda yorum yapmak istiyorsak docstring kullanırız. Aşağıdaki kod için help(add)
komutunu kullandığımızda yorumumuzu kullanıcıya da bastırırız.
def add(self):
"""Yeni bir kullanıcı oluştur
2. satır
vb...
"""
Burada üç-tırnak ile yorumu açıp, üç-tırnak ile yorumu bitiriyoruz. Yorum içerisinde herhangi bir metin kullanabiliriz. Ayrıca bu şekilde kullanımda birden fazla satırda yorum yazmamıza veya çift tırnak kullanmamıza da gerek yoktur. Üç tane tek tırnak ile de aynı işi yapabiliriz (PEP 257).
PyCharm kullanıyorsanız fonksiyonların doğru bir şekilde yorumlanması için aşağıdaki önerileri kullanabiliriz:
def test_function(p1, p2, p3):
"""
test_function şunu şunu yapar
:param p1: p1 şunu yapar
:param p2: p2 şunu yapar
:param p3: p3 şunu yapar
:return: fonksiyondan döndürülen şudur
"""
pass
satır içi – inline açıklama
Python’da satır içi (inline) yorumlar için varsayılan bir söz dizimi bulunmaz. Örneğin aşağıdaki koda bakalım.
x = 1
for i in range(10):
x = x + 1
/* Print. */ print x
Boşluklar scope’u belirlediği için derleyici bu kod için akışı bilemeyecektir. Bu sebeple hangi satırın açıklama için yazıldığını veya hangi satırın çalıştırılması gerektiğini çıkartamaz. Ayrıca kodumuzu okuyan kişiler için de zorluk oluşturur. Bu sebeple satır içi yorumlar bulunmaz. .
Ancak, tahmin edebileceğiniz gibi yorumlarınızı kodunuzun sağına ekleyebiliriz. Bu şekilde söz dizimi ve yorum aynı satırda kalır:
x = 1 # değişkenim