Şu anda os
, stat
ve diğer bazı gereksinimlere sahip bir sınıf yazıyorum.Python sınıfı içindeki modülleri içe aktarma
Bu modülleri sınıfımda içe aktarmanın en iyi yolu nedir?
Başkalarının ne zaman kullanacağını düşünüyorum, sınıf bağımlı olduğunda 'bağımlılık' modüllerinin zaten olmasını istiyorum.
Artık bunları yöntemlerimde içe aktarıyorum, ancak belki de daha iyi bir çözüm var.
Bir yöntemi bir yöntemde ('__init__' gibi) alırsam, birden çok örnek oluşturursam bu modülü birden çok kez içe aktarmaz mı? Bu nedenle, küresel olarak ithal edilmesine kıyasla, performansı etkiler mi? –
__import'un ardından değil(), []? Köşeleri kullandığımda "TypeError: 'builtin_function_or_method' nesnesinin '__getitem__' özniteliği yok" hatasını alıyorum. Bunu değiştirdikten sonra() çalışır, ama ithal modülünü sınıfın adıyla öneklemek zorundayım, hatta sınıfın içinde içe aktarılan modülü kullanırken bile bunu yapmamayı tercih ederim. Bunun herhangi bir yolu var mı? – Samuel
@Samuel: Düzeltme için teşekkürler, ithalatı düzelttim. İçe aktarılan nesnenin global olarak kullanılabilir olmasını istiyorsanız, sadece normal 'import' ifadesini kullanın. Şartlı içe aktarmalarla gerçekten iyi bir fikir değildir, çünkü dışarıdan kodla * dışarıda *, yalnızca şartlı olarak içe aktarmanın ilk dalı yürütüldüğünde işe yarayan koşullara sahip olabilirsiniz.Yukarıdaki gibi __import__ kullanırsanız, nesne için genel bir ad oluşturmaktan kaçınırsınız. – agf