attrs
UtilitiesLớp không có bản soạn sẵn
Tổng quan attrs
attrs (được nhập dưới dạng attr) là một gói Python cho phép bạn viết các lớp Python chính xác, ngắn gọn mà không cần bản soạn sẵn. Nó tự động tạo __init__, __repr__, __eq__ và các phương thức ngu ngốc khác, đồng thời hỗ trợ thêm các trình xác nhận, trình chuyển đổi, vị trí và các lớp cố định (không thay đổi).
attrs là một lựa chọn phổ biến để xác định các lớp lưu trữ dữ liệu sạch trong Python và nó trực tiếp truyền cảm hứng cho mô-đun lớp dữ liệu tích hợp của Python. TrongPyRun, attrs tải ngay lập tức qua micropip, khiến nơi đây trở thành thư viện tuyệt vời để khám phá khi tìm hiểu về các mẫu thiết kế lớp học.
Đầu ra mã & thực thi
Làm sạch các lớp Python bằng trình xác nhận 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)")Gói liên quan
Tài nguyên Python được đề xuất
Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.
Vòng lặp Python
Tìm hiểu cách sử dụng vòng lặp Python để lặp lại dữ liệu. Nắm vững các phương pháp hay nhất về vòng lặp for, while, ngắt, tiếp tục và lặp bằng các ví dụ tương tác.
Cách sắp xếp danh sách trong Python
Tìm hiểu cách sắp xếp danh sách trong Python bằng phương thức Sort() và hàm Sort(). Khám phá các ví dụ về sắp xếp khóa tùy chỉnh và thứ tự đảo ngược.
Bảng cheat phương thức chuỗi Python
Hướng dẫn tham khảo đầy đủ về thao tác chuỗi Python. Làm chủ định dạng, tìm kiếm, phân tách, thay thế và kiểm tra thuộc tính chuỗi.
Python vs JavaScript: Ngôn ngữ lập trình nào tốt nhất?
So sánh toàn diện giữa Python và JavaScript. Khám phá sự khác biệt về cú pháp, hiệu suất, trường hợp sử dụng (phụ trợ so với giao diện người dùng) và các ví dụ về mã hóa.