Yeni Bir Programlama Yöntemi!

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 :slight_smile:. 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ı?

1 Beğeni

Bu tür işler için sınıflar kullanıp niteliklere örnek (self) veya sınıf (cls) üzerinden erişebiliyoruz zaten, bunun ne katkısı var anlamadım.

1 Beğeni

Bu yöntem, nesne tabanlı programlamanın bu özelliğini haricen kullanabilmemizi sağlıyor.

1 Beğeni