neden __init__.py dosyaları python kodu koyacağım
__init__.py
dosyaları koymak istiyorum ve en iyi uygulamaları bununla ilgili ne arıyorum. Ya da, genel olarak kötü bir uygulamadır ?
Bu açıklar bilinen belgeler, herhangi bir başvuru için de çok teşekkür ederim.
CEVAP
Kütüphaneler ve çerçeveler genellikle __init__.py
dosyaları başlatma kodu düzgünce iç yapısını gizlemek ve kullanıcı için standart bir arayüz sağlamak için kullanabilirsiniz.
Bu Django formları modülü örnek alalım. Formlar modülünde çeşitli fonksiyonları ve sınıfları farklı dosyaları sınıflandırılması dayalı olarak tanımlanır.
forms/
__init__.py
extras/
...
fields.py
forms.py
widgets.py
...
Şimdi olsaydın oluşturmak için bir form, biliyorsun hangi dosya her fonksiyonu tanımlanmış ve kodu oluşturmak için bir iletişim formu olacak bakmak gibi bir şey bu (ki uygunsuz ve çirkin).
class CommentForm(forms.forms.Form):
name = forms.fields.CharField()
url = forms.fields.URLField()
comment = forms.fields.CharField(widget=forms.widgets.Textarea)
Bunun yerine, Django sadece widget, formlar, alanlar vb çeşitli başvurabilirsiniz. form ad doğrudan.
from django import forms
class CommentForm(forms.Form):
name = forms.CharField()
url = forms.URLField()
comment = forms.CharField(widget=forms.Textarea)
Bu nasıl mümkün olabilir? Bunu mümkün kılmak için, Django widget, formlar, alanlar vb tüm ithal eden forms/__init__.py
dosyasına aşağıdaki ifadeyi ekler. forms
ad.
from widgets import *
from fields import *
from forms import *
from models import *
Gördüğünüz gibi, bu kolaylaştırır hayatını oluştururken formları çünkü artık gerek yok endişe içinde her fonksiyon/sınıf tanımlanmış ve tüm bu doğrudan forms
ad. Bu sadece bir örnek ama diğer çerçeveler ve kütüphaneler bu gibi örnekler görebilirsiniz.
Neden Python kodu derlemek?...
Neden değil't Python'in __in...
Neden't Python bayt kodu derleme ...
() Anlayış Python süper __init__() yön...
Nasıl Python ile bir dizinin tüm dosya...