Java dünyasından geliyorum ve Bruce Eckels'in Python 3 Patterns, Recipes and Idioms'u okuyorum .
Sınıflar hakkında okurken, Python'da örnek değişkenleri bildirmeye gerek olmadığını söyler. Onları sadece yapıcıda kullanırsınız ve patlar, onlar oradadır.
Yani mesela:
class Simple:
def __init__(self, s):
print("inside the simple constructor")
self.s = s
def show(self):
print(self.s)
def showMsg(self, msg):
print(msg + ':', self.show())
Bu doğruysa, sınıfın herhangi bir nesnesi sınıfın dışındaki Simple
değişkenin değerini değiştirebilir s
.
Örneğin:
if __name__ == "__main__":
x = Simple("constructor argument")
x.s = "test15" # this changes the value
x.show()
x.showMsg("A message")
Java'da, herkese açık / özel / korunan değişkenler hakkında bilgi verildi. Bu anahtar kelimeler anlamlıdır, çünkü bazen sınıf dışında kimsenin erişemeyeceği bir sınıfta değişkenler istersiniz.
Python'da neden gerekli değil?