Jawaban:
Jujur tergantung pada kebutuhan Anda. Sebagian besar waktu modul fungsi akan menjadi apa yang Anda cari.
Kelas python (imho) tidak boleh dianggap seperti kelas di C # atau C ++ atau Java, harus ada alasan logis untuk mengelompokkan satu set fungsi ke induk yang lebih besar, struktur data akan menjadi contoh yang baik dari ini, Anda ingin seperangkat fungsi kongruen yang berlaku langsung ke kelas, bukan kumpulan fungsi yang dikumpulkan secara longgar yang bertujuan umum.
Modul adalah untuk pengelompokan hierarkis keseluruhan sistem yang sama, saya biasanya memiliki semua fungsi utilitas di bawah satu modul, semua data di bawah yang lain, lapisan data saya dan konektor di bawah modul tipe "induk". Karena sebuah modul hanyalah pengelompokan mental, ini kurang tentang jenis sistem apa yang ada di dalamnya (kelas atau fungsi, sejujurnya mungkin campuran keduanya) dan lebih banyak tentang koneksi logis antara sistem di bawah modul.
Pertanyaan mendasarnya adalah apakah Anda perlu memiliki instance berbeda dari modul / kelas Anda. modul python seperti singleton - Anda selalu merujuk ke objek yang sama , yaitu jika Anda membutuhkan instance, Anda memerlukan kelas.
Namun, jika Anda tidak membutuhkan instance, Anda mungkin masih perlu mengatur "objek" Anda ke keadaan awal. sementara ini jelas mungkin dengan modul polos, jika inisialisasi lebih kompleks daripada hanya menetapkan beberapa nilai, saya akan menyarankan untuk menginisialisasi kode dalam metode kelas __init__
agar mudah dibaca.