Hãy xem xét đoạn mã sau:
class Base(object):
    @classmethod
    def do(cls, a):
        print cls, a
class Derived(Base):
    @classmethod
    def do(cls, a):
        print 'In derived!'
        # Base.do(cls, a) -- can't pass `cls`
        Base.do(a)
if __name__ == '__main__':
    d = Derived()
    d.do('hello')
> $ python play.py  
> In derived! 
> <class '__main__.Base'> msgTừ Derived.do, làm thế nào để tôi gọi Base.do?
Tôi thường sử dụng superhoặc thậm chí trực tiếp tên lớp cơ sở nếu đây là một phương thức đối tượng bình thường, nhưng dường như tôi không thể tìm thấy cách gọi classmethod trong lớp cơ sở.
Trong ví dụ trên, Base.do(a)in Baselớp thay vì Derivedlớp.