Một chuỗi tài liệu python phải được đưa ra dưới dạng chuỗi chữ; nhưng đôi khi rất hữu ích khi có các quy tắc tương tự cho một số hàm (ví dụ, các hàm tạo khác nhau) hoặc một số phương thức truy cập có thể chấp nhận cùng một danh sách các đối số (và sau đó dựa vào cùng một phương thức ẩn), vì vậy sẽ rất tốt khi sử dụng mô tả ở mọi nơi. Đối với những trường hợp như vậy, tôi có thể xây dựng một docstring bằng cách gán cho __doc__
, mà tôi làm bằng phương tiện của một trang trí đơn giản. Hệ thống hoạt động rất độc đáo (trong python 2), và tôi hài lòng với cách đơn giản, rõ ràng và được đóng gói tốt.Sửa đổi một chuỗi mã vạch python bằng trình trang trí: Có phải là một ý tưởng hay không?
Câu hỏi: Đây có phải là một ý tưởng hay không? Cụ thể, có các công cụ sẽ bị nhầm lẫn bởi thiết lập này (ví dụ: bất kỳ thứ gì trích xuất docstrings từ nguồn thay vì từ bytecode). Là giải pháp vẫn sẽ làm việc trong python 3? Có những lý do hoặc hoàn cảnh nào khác có thể làm cho điều này trở nên vô ý?
"các nhà thầu khác nhau"? Tôi giả sử bạn có nghĩa là một số loại chức năng của nhà máy, bởi vì bạn chỉ có thể có một '__init__'. –
Tôi không nghĩ rằng "chức năng nhà máy" là đúng. Tôi đã đề cập đến các thành viên tĩnh của một lớp, tạo ra một thể hiện của cùng một lớp. Tất cả chúng đều là các nhà xây dựng đa hình trong một ngôn ngữ hỗ trợ trực tiếp. Nhưng có, các chức năng của nhà máy có thể là một trường hợp sử dụng khác. – alexis
Tôi sẽ coi đó là một loại nhà máy, vâng. Không có bất kỳ sự khác biệt nào giữa các hàm thành viên tĩnh và các hàm miễn phí (để sử dụng thuật ngữ C++), bên cạnh việc đặt tên không gian. Mặc dù Python có các khái niệm "phương thức lớp" và "phương thức tĩnh" riêng biệt. –