যেকোনো পাইথন ক্লাসের তিন ধরনের মেথড থাকে: ইনস্ট্যান্স মেথড, ক্লাস মেথড এবং স্ট্যাটিক মেথড।
উদাহরণ
নিচের কোডটি বিবেচনা করুন
class OurClass: def method(self): return 'instance method called', self @classmethod def classmethod(cls): return 'class method called', cls @staticmethod def staticmethod(): return 'static method called'
তৃতীয় মেথড, OurClass.staticmethod-কে @staticmethod ডেকোরেটর দিয়ে চিহ্নিত করা হয়েছে স্ট্যাটিক মেথড হিসেবে।
এই ধরনের মেথড নে self নে cls প্যারামিটার নেয়, কিন্তু আয়বশ্য অন্য যেকোনো সংখ্যক প্যারামিটার গ্রহণ করতে পারে।
অতএব একটি স্ট্যাটিক মেথড নে অবজেক্ট স্টেট মডিফাই করতে পারে নে ক্লাস স্টেট। স্ট্যাটিক মেথডগুলো সীমিত থাকে যে ডেটা অ্যাক্সেস করতে পারে - এবং এগুলো মূলত আপনার মেথডগুলো নেমস্পেস করার একটি উপায়। আমরা উপরের কোড থেকে স্ট্যাটিক মেথড কল করতে পারি নিচের মত করে
>>> obj = OurClass() >>> obj.staticmethod() 'static method called'