Değişken İsimlendirme Kuralları
Diğer programlama dillerinde olduğu gibi Python’da da değişken isimlendirme ile ilgili uyulması gereken çeşitli kurallar vardır.
1️⃣ Değişken isimleri rakamla başlayamaz, alfabetik karakterlerle başlatılmalıdır.
İlk karakter dışında diğer karakterler rakam olabilir. Alt tire, _
, karakteri
alfabetik karakter olarak sayılmaktadır.
1x = 4 # Hata, 1 ile başlayamaz
x1 = 4 # Uygun
(x = 4 # Hata, ( ile başlayamaz
_x = 4 # Uygun
2️⃣ Değişken isimleri anahtar sözcük olamaz. (Bknz: Token, Keyword, White Space, Statement ve Expression Kavramları)
while = 4 # Hata, while bir anahtar sözcüktür.
3️⃣ Değişken isimleri boşluk karakterlerini içeremez.
my variable = 4 # Hata
4️⃣ Değişken isimleri operatör karakterlerini içeremez.
my+variable = 4 # Hata
benim-degiskenim = 4 # Hata
5️⃣ Python case-sensitive bir dildir, küçük/büyük harf duyarlılığı vardır. C, C++, Java, C# da böyledir fakat Pascal, Basic, Fortran böyle değildir, onlara case-insensitive diyoruz.
>>> x = 4
>>> X
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'X' is not defined. Did you mean: 'x'?
Did you mean? de diyor!
6️⃣ Python 3 ile UNICODE desteği değişken isimlerine de gelmiştir. Türkçe karakter içeren değişkenler yaratabiliriz. Buradan böyle yapmalıyız anlamı çıkmasın elbette.. Ayrıca değişken isimlendirmede tüm UNICODE karakterler kullanılabilir anlamı da çıkmasın. [1]
benim_değişkenim = 4 # Uygun
😊 = "gülen yüz" # 😊 değişken adı olamıyor, UNICODE full desteklenmiyor
değişken = "😊" # Uygun
7️⃣ Python, Python Language Reference, değişkenlerin maksimum uzunluğu konusunda bir şey söylememektedir. Burada genelde ilgili Python implementasyonunu yazan kişilerin, CPython, PyPy gibi belirlediği içsel bir limit olacaktır. Örneğin değişken isimlerin ilk N karakteri dikkate alınıyor olabilir. Ama pratikte buralara takılmamamız lazım. Bu kadar uzun karakterli değişken isimleri kullanmıyor olmalıyız. Tipik olarak 256 karakter uzunluğa kadar isimler sorunsuzca desteklenecektir ama böyle uzun isimler kullanmamalıyız.
Naming Conventions, Coding Conventions, İsimlendirme/Kodlama Stilleri
Değişken isimlendirmede boşluk karakterlerini kullanamıyoruz. Kod okunabilirliğini aynı projelerde çalışan geliştiriciler arasında da arttırmak için programlama dünyasında süregelen çeşitli isimlendirme kuralları vardır. Bu kurallar dilin doğru çalışması için gerekli değildir. Daha çok kodların rahat okunması için vardır. Her dilin sahiplendiği ve genel geçer doğru kabul ettiği tarzlar, dilden dile değişebilir.
Snake Case 🐍
Klasik C tarzı da denmektedir. C, Python, Rust, SQL gibi dillerde kullanımı
yaygındır. Sözcüklerin arasında _
konur.
benim_degiskenim
file_name
user_intput_data
MAX_CONNECTIONS
gibi..
Kebab Case 🌯
Snake Case’e benzer. İsimler arasında _
yerine -
kullanılır. Python’da
değişken isimlerinde -
bulunamadığı için kullanılamaz. Fakat programlama
dünyasında CSS ve JavaScript framework’lerinde tercih edilebilmektedir.
Camel Case 🐫
Burada ilk sözcüğün tamamı küçük harf yazılır. Sonraki sözcüklerin ilk harfi büyük, devamı küçük yazılır. Sözcükler arasında boşluk bırakılmaz. Bu tarza lowerCamelCase de denmektedir.
benimDeğişkenim
fileName
userInputData
gibi. Java’da sık tercih edilir.
Pascal Case
Camel Case’e benzer. Farkı, ilk harfin de büyük harf olmasıdır. Bazen UpperCamelCase de denmektedir.
BenimDeğişkenim
FileName
UserInputData
gibi.
Hangisini kullanalım?
Python’da C tarzı isimlendirme yani snake case sıklıkla tercih edilir. Python
case sensitive bir dil olsa da genelde küçük harf kullanılır. Sembolik sabit
görevindeki değişkenler, yani C’deki #define
ile tanımlanan makrolarla aynı
amacı taşıyanlar, genelde BÜYÜK HARF ile yazılır. Sınıf isimlendirmelerinde
PascalTarzı da tercih edilebilmektedir.
Google Python Style Guide, snake_case önermektedir. [2] [3] Ama örneğin Python’da QT ile çalışıyorsak o kütüphane Camel Casting tercih ettiği için kendi kodumuzu da ona uydurmamız mantıklı olabilir.
Değişken isimlendirmelerinde Türkçe karakter kullanabilsek de genelde önerilen, diğer dillerde de, değişken isimlerinin İngilizce isimlendirilmesidir.
💭 Yorumlar
Yorum altyapısı giscus tarafından (evet tarafından!) sağlanmaktadır. Yorum yazabilmek için GitHub hesabınız üzerinden giriş yapmanız gerekmektedir. Yorumlar, Github Discussions üzerinde saklanmaktadır.
20417d4b-bc0a-4fc8-82ba-a878190d30c8