Size: a a a

2020 April 29

IS

Idi Suda in Rude QA
источник

ИС

Игорь Середа... in Rude QA
@MerGG, можешь Максиму Матвееву репостить теперь.
источник

M

Merg in Rude QA
принял
источник

Н

Нурсултан in Rude QA
class A:
   ...


class B(A):
   ...


print(A)
print(B)
print(A())
print(B())
a = A()
b = B()
print(a)
print(b)

>>>
<class '__main__.A'>
<class '__main__.B'>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108b83978>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108bf0240>


посоны, чому первые три экземпляра в одном участке памяти, а четвертый в другой
источник

СС

Сказочный Сникерс... in Rude QA
Нурсултан
class A:
   ...


class B(A):
   ...


print(A)
print(B)
print(A())
print(B())
a = A()
b = B()
print(a)
print(b)

>>>
<class '__main__.A'>
<class '__main__.B'>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108b83978>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108bf0240>


посоны, чому первые три экземпляра в одном участке памяти, а четвертый в другой
из за print
источник

СС

Сказочный Сникерс... in Rude QA
ну точнее не из за принта, а потому что ты печатаешь а не присваиваешь
источник

СС

Сказочный Сникерс... in Rude QA
во нашел тебе место
источник

СС

Сказочный Сникерс... in Rude QA
источник

СС

Сказочный Сникерс... in Rude QA
источник

СС

Сказочный Сникерс... in Rude QA
получается что на момент print(A()) следующий айдишник будет находиться в  0x108b83978. создается а, ему присваивается 0x108b83978. следующий айдишник для следующего объекта будет записан в память <__main__.B object at 0x108bf0240. затем GC видит что линков на объект нет и разрушает созданный А(). разрушая его он возвращает 0x108b83978 следующему айдишнику
источник

СС

Сказочный Сникерс... in Rude QA
То же самое с B()
источник

СС

Сказочный Сникерс... in Rude QA
И то же самое с a = A(). но так как на этот объект ты сохранил линк, то он остается в памяти
источник

СС

Сказочный Сникерс... in Rude QA
понятно объяснил?
источник

СС

Сказочный Сникерс... in Rude QA
вызови вот такой вот код

class A:
   pass

for _ in range(10):
   print(A())
источник

СС

Сказочный Сникерс... in Rude QA
и посмотри что получится)
источник

Н

Нурсултан in Rude QA
объяснил понятно, но какой-то недогон чую. зато теперь знаю, "куда копать", посибо, почитаю еще на досуге
источник

СС

Сказочный Сникерс... in Rude QA
короче это логика присваивания айдишников + время жизни объекта + ГЦ
источник

ZE

Zewa 🚽 Expert in Rude QA
betzy
мозилла, как бы тоже пиздит про приватность и все такое, но на главной страничке у них гуглоаналитика
Дудосят гугол прост
источник

Н

Нурсултан in Rude QA
блять аж хрюкаю как сучара, такой ор
источник

Н

Нурсултан in Rude QA
вот это слог бля
источник