[lang-ref] ( class_method ) ( python )

def test_class_method():
    # @classmethod
    class Class01:
        def __init__(self, name):
            self.name = name

        @classmethod
        def from_email(cls, email):
            name = email.split('@')[0]
            return cls(name)

    # use class method when you need to refer class
    # ex: alternative constructor

    c = Class01.from_email('user1@sugoi-domain.com')

    assert c.name == 'user1'