Вот пример:Есть ли способ, кроме __init__, получать значения при построении класса?
# class.py
class MyString:
def __init__(self, str):
self.str = str
def __div__(self, sep):
return self.str.split(sep)
>>> m = MyString('abcdabcdabcd')
>>> print m/'b'
['a', 'cda', 'cda', 'cd']
Метод __init__
принимает два параметра: первый, self
, является сам объект экземпляра и str
, во-вторых, это параметр, передаваемый в вызовом. Использует ли __init__
единственный способ получить значения в экземпляре моего класса?
Или, если я не объявлю метод __init__
, выражения, подобные m = MyString('abcdabcdabcd')
, перестанут работать?