पाइथन कक्षाओं को मॉड्यूल और/या पैकेज में व्यवस्थित करना व्यक्तिगत प्राथमिकताओं, सुविधा, पठनीयता और एप्लिकेशन पर ही निर्भर करता है। हमेशा ऐसा होता है कि प्रत्येक वर्ग को एक अलग फाइल में रखा जाता है। यह हो सकता है कि कभी-कभी संबंधित वर्गों को एक फ़ाइल में रखने से यह काफी बड़ा हो सकता है जबकि कभी-कभी यह ठीक हो सकता है। तो यह सब परिदृश्यों, सुविधा और कक्षाओं के साथ काम करने में आसानी पर निर्भर करता है।
एक मॉड्यूल एक फ़ाइल है जिसमें पायथन परिभाषाएँ और कथन होते हैं। फ़ाइल नाम मॉड्यूल नाम है जिसमें प्रत्यय .py संलग्न है। एक मॉड्यूल के भीतर, मॉड्यूल का नाम (एक स्ट्रिंग के रूप में) वैश्विक चर __name__ के मान के रूप में उपलब्ध होता है।
एक मॉड्यूल में निष्पादन योग्य कथनों के साथ-साथ फ़ंक्शन परिभाषाएँ भी हो सकती हैं। इन कथनों का उद्देश्य मॉड्यूल को प्रारंभ करना है। आयात विवरण में मॉड्यूल नाम का पहली बार सामना होने पर ही उन्हें निष्पादित किया जाता है। यदि फ़ाइल को स्क्रिप्ट के रूप में निष्पादित किया जाता है तो वे भी चलाए जाते हैं। मॉड्यूल अन्य मॉड्यूल आयात कर सकते हैं।
एक या अधिक कार्यात्मकता प्रदान करने वाले संबंधित मॉड्यूल के संग्रह को पैकेज कहा जाता है। इसलिए हम संक्षेप में कह सकते हैं कि पायथन में कक्षाओं को मॉड्यूल और पैकेज में व्यवस्थित किया जाता है।