attrs

Utilities

Sınıf standart metin içermez

Genel Bakış attrs

attrs (attr olarak içe aktarılır), ortak metin olmadan kısa ve doğru Python sınıfları yazmanıza olanak tanıyan bir Python paketidir. Otomatik olarak __init__, __repr__, __eq__ ve diğer dunder yöntemlerini oluşturur ve ayrıca doğrulayıcıları, dönüştürücüleri, yuvaları ve dondurulmuş (değişmez) sınıfları destekler.

attrs, Python'da temiz veri tutma sınıflarını tanımlamak için popüler bir seçimdir ve doğrudan Python'un yerleşik veri sınıfları modülüne ilham kaynağı olmuştur.PyRun'da attr'ler mikropip yoluyla anında yüklenir ve bu da onu sınıf tasarım kalıpları hakkında bilgi edinirken keşfedilecek harika bir kütüphane haline getirir.

Kod ve Yürütme Çıkışı

Python sınıflarını attrs doğrulayıcılarla temizleyin.

Attrs Data ClassesDüzenleyicide Çalıştır
import attr

@attr.s(auto_attribs=True)
class Point:
    x: float
    y: float

    def distance_to(self, other: "Point") -> float:
        return ((self.x - other.x)**2 + (self.y - other.y)**2)**0.5

@attr.s(auto_attribs=True)
class Polygon:
    name: str
    vertices: list = attr.Factory(list)

    def perimeter(self) -> float:
        pts = self.vertices + [self.vertices[0]]
        return sum(pts[i].distance_to(pts[i+1]) for i in range(len(pts)-1))

triangle = Polygon("Triangle", [
    Point(0, 0), Point(4, 0), Point(0, 3)
])

print(repr(triangle))
print(f"Perimeter: {triangle.perimeter():.4f}")
print(f"Expected : 12.0000  (3-4-5 right triangle)")

İlgili Paketler

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.