cls и self - это никакие не префиксы, а обычные перемнные. Они поступают в виде первого аргумента метода.
Вы даже назвать их можете по-другому и ничего не поломается.
Попробуйте, всё-таки, почитать книжку по питону по порядку, а не действовать методом тыка и не гадать на кофейной гуще.
В функции zas у вас нет переменной cls, отсюда и NameError.
Получить класс объекта можно с помощью функции type: type(self).infield()
Ну и да, судя по всему, вы не поняли до конца для чего нужны классовые методы, а для чего обычные.
Ктсати, Test().zas()
отработает вполне корректно, не смотря на то, что это классовый метод, а вызывается он у инстанса. Просто классовому методу будет передан в аргумент класс, а не инстанс.
Серёьзно. Бросайте пытаться разбираться в этом методом тыка и вопросов на QnA. Там дальше наследование, полиморфизм, множественное наследование, метаклассы... Вы всех задолбаете и будете этим заниматься целую вечность