Sobes.tech
Junior — Middle

Python'da değişken ve metod isimlerinde tek ve çift alt çizgi kullanımındaki farkları açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'da, bir değişken veya metodun adının başında tek bir alt çizgi (örneğin, _var) kullanmak, bu ismin iç kullanım için (korumalı) olduğunu gösteren bir gelenektir ve sınıf veya modül dışında kullanılmaması önerilir. Bu sadece bir tavsiyedir, yorumlayıcı erişimi engellemez.

İki alt çizgi ile başlayan isimler (örneğin, __var) name mangling mekanizmasını etkinleştirir — değişken veya metodun adı, sınıf dışından erişimi zorlaştırmak için yorumlayıcı tarafından değiştirilir. Bu, özel nitelikler oluşturmak için kullanılır, bunlar alt sınıflarda yanlışlıkla veya kolayca üzerine yazılamaz.

Örnek:

class MyClass:
    def __init__(self):
        self._protected = 1  # gelenek: korumalı nitelik
        self.__private = 2   # name mangling

obj = MyClass()
print(obj._protected)    # erişim mümkün, ama önerilmez
# print(obj.__private)   # AttributeError hatası verir
print(obj._MyClass__private)  # name mangling ile "özel" niteliğe erişim

Bu nedenle, tek alt çizgi bir gelenektir, çift alt çizgi ise isim gizleme mekanizmasıdır.