Câu hỏi liên quan

Nó là pythonic để sử dụng mô-đun __init__.py của package một cho các lớp học chung chung, trừu tượng?


0 Phiếu
Đã hỏi 24/5/2016 bởi eryeuton (210 điểm)
Tôi đang phát triển một ứng dụng khá phức tạp đối với công ty của tôi theo hướng đối tượng model trong python3. Các ứng dụng có chứa một số các gói và các gói phụ, mỗi - dĩ nhiên - có một mô-đun __init__.py. Tôi chủ yếu sử dụng các mô-đun __init__.py tuyên bố các lớp học chung cho package bên trong họ, nhằm mục đích được sử dụng như mẫu trừu tượng cho package tương ứng của họ chỉ. Câu hỏi của tôi là bây giờ: đây có phải là "tốt đẹp", "chính xác" / "pythonic" là một cách để sử dụng mô __init__.py? Hoặc sẽ thay tôi khai báo lớp học chung ở một nơi khác? Để đưa ra một ví dụ, giả sử một mypkg package : mypkg.__init__.py:
class Foo(object):
    __some_attr = None
    def __init__(self, some_attr):
        self.__some_attr = some_attr
    @property
    def some_attr(self):
        return self.__some_attr
    @some_attr.setter
    def some_attr(self, val):
        self.__some_attr = val
mypkg.myfoo.py:
from . import Foo
class MyFoo(Foo):
    def __init__(self):
        super().__init__("this is my implemented value")
    def printme(self):
        print(self.some_attr)

Xin vui lòng đăng nhập hoặc đăng ký để trả lời câu hỏi này.


ToughDev Q&A là gì?

Trang web hỏi đáp cho các bạn đam mê lập trình, phát triển phần mềm và các vấn đề kỹ thuật khác. Với sự giúp đỡ của bạn, chúng tôi hy vọng sẽ xây dựng thành công một thư viện đầy đủ các câu hỏi và trả lời về tất cả các vấn đề có liên quan đến lập trình!







...