
Whore Amazing
15.01.2019
08:58:03
Да, работает, спасибо.
Только я тоже до сих пор не понял почему.

LighteR
15.01.2019
08:59:03

Whore Amazing
15.01.2019
08:59:38
всю жизнь так было, вроде...

LighteR
15.01.2019
08:59:48

Google

LighteR
15.01.2019
08:59:59
это просто дичь бы была, если бы каждый раз копии создавались

Michael
15.01.2019
09:00:41
Кажется, понял

Whore Amazing
15.01.2019
09:01:43
l1 = [0, 2]
l2 = l1[0]
l2 = 3
print(l1)
чет не вдупляю

Michael
15.01.2019
09:02:01
Когда мы внутри функции определяем переменную одноименную
Она только внутри функции работает

Whore Amazing
15.01.2019
09:02:29
я либо тупой, либо тупой

Tishka17
15.01.2019
09:02:33
class MyList:
def __init__(self, data):
self.data = data
def __getitem__(self, item):
if isinstance(item, tuple):
return get_r(self.data, *item)
else:
return self.data[item]
def __setitem__(self, item, o) -> None:
if isinstance(item, tuple):
return set_r(self.data, o, *item)
else:
self.data[item] = o
lst = MyList([1, 2, [3, 4, [5, 6]]])
print(lst[2, 2, 0])
lst[2, 2, 0] = "hello"
print(lst.data)

Michael
15.01.2019
09:02:35
Т.е. внешний лист не трогается

Whore Amazing
15.01.2019
09:02:49
серьезно?

Maxim robox
15.01.2019
09:02:55

Michael
15.01.2019
09:03:15
Я что-то такое читал вроде

Whore Amazing
15.01.2019
09:03:24

Google

Whore Amazing
15.01.2019
09:03:32
магия какая-то

Michael
15.01.2019
09:03:49

Whore Amazing
15.01.2019
09:04:13

Tishka17
15.01.2019
09:11:30

Александр
15.01.2019
09:14:33
Элементарно же
Именно.
Если такая постановка тем более
Любой джун сделает на собеседовании

Whore Amazing
15.01.2019
09:15:49

Maxim robox
15.01.2019
09:15:57

Александр
15.01.2019
09:16:09

Whore Amazing
15.01.2019
09:16:14

Tishka17
15.01.2019
09:17:06
вообще да

Александр
15.01.2019
09:17:07

Tishka17
15.01.2019
09:17:21

Whore Amazing
15.01.2019
09:17:30
вообще да
Хз, я про такую магию первый раз слышу

Tishka17
15.01.2019
09:17:36
где магия?

Александр
15.01.2019
09:17:55

Tishka17
15.01.2019
09:17:56
разве что джун без звездочки бы наверно сделал

Google

Александр
15.01.2019
09:18:06
Это же чат не для бегиннерс

Whore Amazing
15.01.2019
09:18:39
ладно, признаю, я аутист тот еще

Александр
15.01.2019
09:20:53

Whore Amazing
15.01.2019
09:21:26
спасибо, вы меня унизили едва ли не больше, чем жизнь

Александр
15.01.2019
09:21:40
Опять же, все есть в документации
https://docs.python.org/
И соберись, тряпка

Terminator
15.01.2019
09:23:41
@INKGUY будет жить. Поприветствуем!

Tishka17
15.01.2019
09:25:02
на

Whore Amazing
15.01.2019
09:25:27
спасибо

Valar
15.01.2019
09:25:29

Tishka17
15.01.2019
09:25:53
напихал все что мог, изучай

Whore Amazing
15.01.2019
09:26:58

Tishka17
15.01.2019
09:27:33
естественно код в ответе прмиерный, надо не забыть про многопоточность, см исходник Queue

Terminator
15.01.2019
09:36:05
@MaxximKr будет жить. Поприветствуем!

Google

Terminator
15.01.2019
09:41:29
xc v cvv будет жить. Поприветствуем!

Admin
ERROR: S client not available


Khachatur
15.01.2019
09:43:45
Приветствую всех!
Ниже представлен код итератора. Когда я прохожу по циклу экземпляра класса Cities, метод __iter__ возвращает экземпляр класса CityIterator. При повторном цикле возвращается тот же объект класса CityIterator. Хотя по моей логике, объект CityIterator уже должен быть другим, а на деле они ссылаются на одну ячейку памяти.
Почему так происходит?
class Cities:
def init(self):
print(f"Cities init called.id(self) = {id(self)}")
self._cities = ["Paris", "Berlin", "Rome", "Madrid", "London"]
self._index = 0
def len(self):
return len(self._cities)
def iter(self):
print("Cities iter called.")
return CityIterator(self)
class CityIterator:
def init(self, _city_obj):
print(f"CityIterator init called. id(self) = {id(self)} type(self)={type(self)}")
self._city_obj = _city_obj
self._index = 0
def iter(self):
print("CityIterator iter called.")
return self
def next(self):
print("CityIterator next called.")
if self._index >= len(self._city_obj):
raise StopIteration
else:
item = self._city_obj._cities[self._index]
self._index += 1
return item
cities = Cities()
for city in cities:
print(city)
for city in cities:
print(city)


Tigran
15.01.2019
09:45:03


Khachatur
15.01.2019
09:46:39

Tigran
15.01.2019
09:46:40
А, вижу id(self).
В конце первого цикла первый итератор уничтожится и новый итератор вполне может быть аллоцирован на его месте, в чём проблема?

Khachatur
15.01.2019
09:48:11

Tigran
15.01.2019
09:48:21
Ну наверное
Менеджер памяти — чёрный ящик, работает как хочет

Khachatur
15.01.2019
09:48:58
Интересно. Приму к сведению. Спасибо

Tishka17
15.01.2019
09:54:26
хотя на самом деле там счетчик ссылок
и поэтому старый удаляется сразу как перестает использоваться

Tigran
15.01.2019
09:55:11
счётчик ссылок, поколенческий gc, да
кроме того, что он сразу удаляется, тут ещё играет роль устройство хипа

Tishka17
15.01.2019
09:55:38
это да

Tigran
15.01.2019
09:55:42
мог и в другом месте саллоцировать

Tishka17
15.01.2019
09:55:50
особенно если есть треды

Boriskas
15.01.2019
10:13:02
тут тупые вопрос можно в лоб задавать?

Google

Vadim
15.01.2019
10:14:58
Какой вуз в москве посоветуете выбрать?
Прикладная математика и информатика
Кроме мфти и мгу

Проксимов
15.01.2019
10:15:13

Dynch
15.01.2019
10:15:21

Tishka17
15.01.2019
10:15:42

Проксимов
15.01.2019
10:15:50

Егор
15.01.2019
10:16:02

Dynch
15.01.2019
10:16:20
Бомонка шарага
в целом согласен, но еще осталась пара сильных факультетов там

Проксимов
15.01.2019
10:16:23

Dynch
15.01.2019
10:17:02
ВШЭ ФКН
В Вышке вроде школа яндекса есть? У меня туда еще помню одноклассник поступал

Boriskas
15.01.2019
10:17:17
короче какой лучший способ подружить бэк в виде рестапи на фласке с фронтом?