"যখন কেউ বলে" সবকিছুই একটি বস্তু "(পাইথনের মতো), তখন তার কি সত্যই বোঝানো যায় যে" সবকিছুই প্রথম শ্রেণীর "?"
হ্যাঁ.
পাইথনের প্রতিটি জিনিসই একটি উপযুক্ত অবজেক্ট। এমনকি অন্যান্য ভাষায় যে জিনিসগুলি "আদিম ধরণের"।
আপনি দেখতে পাচ্ছেন যে কোনও বস্তুর মতো 2
আসলে বেশ সমৃদ্ধ এবং পরিশীলিত ইন্টারফেস থাকে।
>>> dir(2)
['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__getattribute__', '__getnewargs__', '__hash__', '__hex__', '__index__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', '__mod__', '__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__str__', '__sub__', '__truediv__', '__xor__']
পাইথনে সবকিছুই প্রথম শ্রেণির অবজেক্টের কারণে অপেক্ষাকৃত কম কয়েকটি অস্পষ্ট বিশেষ মামলা রয়েছে।
জাভাতে, উদাহরণস্বরূপ, এখানে আদিম ধরণের (ইনট, বুল, ডাবল, চর) উপযুক্ত জিনিস নয় are এজন্য জাভাতে প্রথম শ্রেণীর ধরণের হিসাবে পূর্ণসংখ্যা, বুলিয়ান, ডাবল এবং চরিত্রটি প্রবর্তন করতে হবে। এটি প্রাথমিকভাবে শেখানো কঠিন হতে পারে - কেন আদিম ধরণ এবং শ্রেণি উভয়কে পাশাপাশি পাশাপাশি থাকতে হবে তা স্পষ্ট নয়।
এর অর্থ হ'ল কোনও বস্তুর শ্রেণি হ'ল - নিজে - একটি বস্তু। এটি সি ++ থেকে আলাদা, যেখানে রান-টাইমে ক্লাসগুলির সর্বদা পৃথক অস্তিত্ব থাকে না।
প্রকারটি 2
হ'ল type 'int'
অবজেক্ট, যার পদ্ধতি, বৈশিষ্ট্য এবং একটি প্রকার রয়েছে।
>>> type(2)
<class 'int'>
বিল্ট-ইন টাইপের মতো int
হ'ল type 'type'
অবজেক্ট। এটিরও পদ্ধতি এবং বৈশিষ্ট্য রয়েছে।
>>> type(type(2))
<class 'type'>