attrs
UtilitiesKelas bebas boilerplate
Ikhtisar attrs
attrs (diimpor sebagai attr) adalah paket Python yang memungkinkan Anda menulis kelas Python yang ringkas dan benar tanpa boilerplate. Ini secara otomatis menghasilkan __init__, __repr__, __eq__, dan metode dunder lainnya, dan juga mendukung validator, konverter, slot, dan kelas yang dibekukan (tidak dapat diubah).
attrs adalah pilihan populer untuk mendefinisikan kelas penyimpanan data yang bersih dengan Python, dan ini secara langsung menginspirasi modul dataclasses bawaan Python. DiPyRun, attr dimuat secara instan melalui micropip, menjadikannya perpustakaan yang bagus untuk dijelajahi saat mempelajari pola desain kelas.
Kode & Output Eksekusi
Bersihkan kelas Python dengan validator attrs.
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)")Paket Terkait
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Loop Python
Pelajari cara menggunakan loop Python untuk melakukan iterasi pada data. Kuasai perulangan for, perulangan while, hancurkan, lanjutkan, dan ulangi praktik terbaik dengan contoh interaktif.
Cara Mengurutkan Daftar dengan Python
Pelajari cara mengurutkan daftar dengan Python menggunakan metode sortir() dan fungsi sortir(). Temukan contoh pengurutan kunci khusus dan urutan terbalik.
Lembar
Panduan referensi lengkap untuk manipulasi string Python. Kuasai pemformatan, pencarian, pemisahan, penggantian, dan pemeriksaan properti string.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.