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.