Форум сайта python.su
1
Отсутствие скобок после Class во втором случае не опечатка?
Офлайн
253
aybВы абсолютно правы. Но init вызыватся автоматически поэтому по вашему методу будет
Тут то как раз экземпляр создан
class Ta: pass a=Ta() a.x1=1 a.x2=2 a.x3=a.x1+a.x2 b=Ta() b.x1=1 b.x2=2 b.x3=b.x1+b.x2
class Ta: def __init__(self): self.x1=1 self.x2=2 self.x3=self.x1+self.x2 a=Ta() b=Tb()
Офлайн
568
Какое к черту связывание, что вы несете?
Экземпляр создается вот так
cls = Class()
class Class: def __init__(self): self.a = time.time()
Отредактировано FishHook (Дек. 6, 2015 18:10:30)
Офлайн
568
Rudiumчитайте учебник!
Отсутствие скобок после Class во втором случае не опечатка?
Офлайн
253
FishHookсамое смешное что он так и сделал. Только переопределил ключевое слово класс на всякий случай.
Экземпляр создается вот так
class_instance = Class()
Отредактировано doza_and (Дек. 6, 2015 18:17:59)
Офлайн
1
Первый день изучаю классы)) И поменьше ненависти и ругани, пожалуйста.
Офлайн
20
RudiumВ Python 3 до вывода числа 5 вообще не дойдет, т.к. в качестве имени ссылки Вы используете ключевое слово.
Например:
class Class():
a = 5
class = Class()
print(class.a) #выведет 5
>>> class Class: ... a = 5 ... >>> class = Class() File "<stdin>", line 1 class = Class() ^ SyntaxError: invalid syntax
Отредактировано old_monty (Дек. 6, 2015 18:29:52)
Офлайн
253
RudiumПостараемся, но вы сам начали.
И поменьше ненависти и ругани, пожалуйста.
Rudiumв питоне это нетак устроено как в javascript.
не надо ля ля
Отредактировано doza_and (Дек. 6, 2015 18:21:40)
Офлайн
1
Да. Я ошибся. Скобки не нужны в определении класса. Но странно что это не вызвало ошибку. Работает как со скобками, так и без.
Офлайн
1
Как я понял __init__ нужен лишь для того, чтобы при создании экземпляра можно было указать параметры в скобках, вместо переопределения их после, отдельными выражениями. Это единственное отличие и удобство.
Офлайн