एक सैद्धांतिक निर्माण के रूप में एक वस्तु बहुत सरल है: यह एक संरचना है जो डेटा, फ़ंक्शन, या दोनों को संग्रहीत करती है। यह विचार यह है कि इन संरचनाओं में "स्व" की भावना है जो कि पायथन के बाहर अधिकांश भाषाओं में निहित है। इसे एक "डिस्क्रिप्टर" कहा जाता है और ऑब्जेक्ट को एक स्व-संदर्भ का बिंदु देता है जो डेटा (चर या फ़ील्ड) और फ़ंक्शंस (आमतौर पर कहा जाता है) को विशेष ऑब्जेक्ट को प्रश्न में बांधता है। यह विचार कि आप विशेष रूप से एक चर या विधि का उपयोग कर रहे हैं जो उस विशेष उदाहरण से संबंधित है (स्मृति का आबंटित ब्लॉक जो आमतौर पर कम होता है) बजाय कुछ बड़े, अधिक सामान्य निर्माण के।
ऑब्जेक्ट सिस्टम दो बड़ी श्रेणियों के संबंध में भिन्न होते हैं: इनहेरिटेंस और एक्सेस।
कुछ, जैसे जावा या सी ++, क्या आपने उन कक्षाओं की घोषणा की है जो ऑब्जेक्ट के लिए "ब्लूप्रिंट" के रूप में कार्य करते हैं जो तब आवंटित हो जाते हैं। इन वर्गों और उनकी वस्तुओं को संरचित रूप से एक बार तात्कालिक रूप से संशोधित नहीं किया जा सकता है। वे अपनी सामग्री को इस अर्थ में ओवरराइड कर सकते हैं कि चर बदल सकते हैं लेकिन उनकी संरचना स्थिर है। उदाहरण के लिए, आप जावा में HashMap के लिए नए तरीके नहीं जोड़ सकते। आप इंटरफ़ेस का विस्तार कर सकते हैं (मूल रूप से अनुबंध के रूप में काम करने वाले वर्गों को आंशिक रूप से लागू किया जाता है) या प्रश्न में विशेष वर्ग के मूल चर और तरीकों के साथ-साथ अतिरिक्त तरीकों या चर को प्राप्त करने के लिए एक उपवर्ग बना सकते हैं।
अन्य वर्ग आधारित भाषाएं, सबसे आम तौर पर रूबी होने का हवाला देते हुए, आप एक मौजूदा वर्ग को आसानी से खोल सकते हैं और जैसे ही आप फिट होते हैं, तरीकों में जोड़ते हैं। यह एक विवाद की हड्डी है और बहुत से, बहुत खतरनाक होने के लिए माना जाता है।
जावास्क्रिप्ट भी शिथिल है, वस्तुएं चर या कार्यों के लिए स्लॉट्स के संग्रह से ज्यादा कुछ नहीं हैं। जब भी प्रोग्रामर को ऐसा करने की आवश्यकता महसूस होती है, उन्हें बदला या अधिलेखित किया जा सकता है। उन्हें अन्य वस्तुओं के लिए "प्रोटोटाइप" के रूप में भी मनमाने ढंग से क्लोन किया जा सकता है, जिससे उनकी सभी क्षमताओं को पारित किया जा सकता है।
एक्सेस कंट्रोल विभिन्न भाषाओं के बीच अंतर का दूसरा बड़ा बिंदु है।
जावा जैसी कुछ भाषाओं में "प्राइवेट" और "प्रोटेक्टेड" जैसे एक्सेस मोडिफाइर्स को बहुत सख्ती से लागू किया गया है, जो यह परिभाषित करते हैं कि किसी वर्ग और उपवर्ग किसी दिए गए चर या विधि का उपयोग कर सकते हैं।
अन्य, जैसे कि पायथन कम औपचारिक हैं, यह इंगित करने के लिए कि यह निजी है विधि या चर नाम से पहले एक अंडरस्कोर के सम्मेलन का उपयोग करना।
अंत में, पायथन एक ऑब्जेक्ट-ओरिएंटेड फैशन में प्रोग्राम करने के लिए एक पूरी तरह से वैध भाषा है, यह सिर्फ इसे दूसरों के रूप में कड़ाई से लागू नहीं करता है।