Merhaba arkadaşlar.
Keşfettiğim (daha önce başka bir yerde görmedim) yeni programlama yöntemini sizlere tanıtmak istiyorum. Henüz doğru düzgün bir isim bulabilmiş değilim, FuncOOP veya FonkNTP olabilir.
Bu yöntem sayesinde isim alanı yönetimi için ne sınıfları ne de global
deyimini kullanmak zorunda kalmayacağız. Kilit noktası olan this = type("this", (), globals())
satırı, bize __dict__
'i globals()
olan bir sınıf döndürüyor (nesne değil), ve global isim alanındaki bütün öğeler this
sınıfının bir mensubu haline geliyor. Burada this
sözcüğünü seçmemdeki sebep, self
ve cls
'nin koddaki bir başka sınıf ile çakışması. this
sözcüğünü JavaScript öğrenirken görmüşütüm, ne işe yaradığını hâlâ bilmiyorum . Bu yöntemin tek dezavantajı ise intellisense kod tamamlama ile uyumlu olmaması.
İşte örnek kod:
#!/usr/bin/env python3
# -*- coding:UTF-8 -*-
def main(argv):
this.function()
print(this.message)
def function():
this.message = "Working!"
if __name__ == "__main__":
this = type("this", (), globals())
main()
Sizler bu yöntem hakkında ne düşünüyorsunuz, program yazmayı kolaylaştırır mı?