Форум сайта python.su
13
Проблема:
>>> a = [1, 2, 3, 4, 5] >>> b = a >>> b += [6] >>> b == a True >>> a [1, 2, 3, 4, 5, 6] >>> b [1, 2, 3, 4, 5, 6] >>> id(a) == id(b) True
b = a[:]
>>> a = True >>> b = a >>> a == b True >>> id(a) == id(b) True
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Отредактировано DamMercul (Авг. 2, 2018 21:42:03)
Офлайн
857
DamMerculВ смысле нет? Скаляры все пишутся в одну область памяти, потом на эту область ссылаются все одинаковые. Если две строки одинаковые, то же самое происходит - ссылаются на одну строку. Иначе так никакой памяти не хватит.
Немного шарю в Java, там такой шняги нет
>>> import copy >>> >>> n = 1 >>> m = copy.copy(n) >>> n is m True >>> >>> lst1 = [1, 2, 3] >>> lst2 = copy.copy(lst1) >>> lst1 is lst2 False >>>
DamMerculЕсли уж холивар начинать Python vs Java, то Java - откровенная параша
там такой шняги нет

Отредактировано py.user.next (Авг. 2, 2018 22:40:26)
Офлайн
13
py.user.nextДа-да, все так говорят. Я на яве тоже пишу. Вполне себе так нормально, даже небольшие сходства с C есть. Мне в яве нравится это ООП везде. Куда не глянь, везде ООП. Даже если не хочешь, все равно будет ООП. Даже парится по этому счету не надо, просто по другому на яве писать невозможно. А насчет проблем ты прав, их больше
Ты просто поразрабатывай на том и на этом - сразу поймёшь эту разницу. С питоном у тебя будет куча программ, с явой у тебя будет одна программа с кучей проблем
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
294
DamMerculНаверно в этом и проблема, я тоже когда первый раз увидел пайтон “немного шарил” в других ЯП, поэтому самые простые вещи, как то типы ,присваивание и прочее пропустил или прочитал по диагонали, а зря, как оказалось потом.
UPDATE: Немного шарю в Java, там такой шняги нет,
[code python][/code]
Отредактировано PEHDOM (Авг. 3, 2018 10:10:57)
Офлайн
857
DamMerculОператор new есть, а оператора delete нет - тебя это не смущает? Ты даже не можешь контролировать, сколько памяти занято в данный момент. А когда ошибка какая-нибудь происходит, надо полчаса искать её причину, потому что в Java нихрена не информативно. Так она вообще может показывать, что ошибка там-то находится, а на самом деле она в другом месте. Короче, времени с ней теряется очень много. В питоне же любая ошибка сразу на виду, быстро её правишь и продолжаешь.
Даже парится по этому счету не надо, просто по другому на яве писать невозможно.
Офлайн
13
py.user.nextВ яве на этот случай есть очиститель.
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
13
PEHDOMОК, я изучу вопрос, но про это в книге не писали. Я как чайник читал Марка Лутца. Он вроде как умный, но в 2х томах про питон про это не писали
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн