Первым аргументом каждого метода класса, включая __init__, всегда является текущий экземпляр класса. Общепринято всегда называть этот аргумент self. Как this в С++. Обычный метод class MyClass(object): def mymethod(self, x): return x == self._x
Классовые методы в Python занимают промежуточное положение между статическими и обычными. В то время как обычные методы получают первым параметром экземпляр класса, а статические не получают ничего, в классовые методы передается класс. >>> class A(object): def __init__(self, int_val): self.val = int_val + 1 @classmethod def fromString(cls, val): # вместо self принято использовать cls return cls(int(val))
В системе счисления по основанию n самой старшей "цифрой" в разряде является цифра, изображающая число величиной n-1. В двенадцатиричной системе счисления такой "цифрой" будет изображение числа 11, т.е. B. Самое старшее трехразрядное число запишется, как ВВВ(12). Вычислим соответствующее десятичное число.
Это было "длинное" решение. Короткое состоит в том, что самое старшее трехзначное число в двенадцатиричной системе на единицу меньше самого младшего четырехразрядного. А оно, в свою очередь, равно кубу числа 12. И сразу же получаем:
Как this в С++.
Обычный метод
class MyClass(object):
def mymethod(self, x):
return x == self._x
Классовые методы в Python занимают промежуточное положение между статическими и обычными. В то время как обычные методы получают первым параметром экземпляр класса, а статические не получают ничего, в классовые методы передается класс.
>>> class A(object):
def __init__(self, int_val):
self.val = int_val + 1
@classmethod
def fromString(cls, val):
# вместо self принято использовать cls
return cls(int(val))
Самое старшее трехразрядное число запишется, как ВВВ(12).
Вычислим соответствующее десятичное число.
Это было "длинное" решение. Короткое состоит в том, что самое старшее трехзначное число в двенадцатиричной системе на единицу меньше самого младшего четырехразрядного. А оно, в свою очередь, равно кубу числа 12. И сразу же получаем: