Size: a a a

2021 March 06

E

Eugene in PiterPy Meetup
Alex 🌼 Karantinsky
Я сюда статью скину как будет готова
👍 интересно будет почитать
источник

Б

Боброний in PiterPy Meetup
Alex 🌼 Karantinsky
Я сюда статью скину как будет готова
Ждём-с
источник

AZ

Andrey Zakharevich in PiterPy Meetup
Eugene Denisov
В чистом питоне его и не бывает. Но стоит подключить оптимизации в виде сишных модулей, как сегфолты начинают появляться. Что сразу приходит на ум:
import ujson
class Foo:
   __str__ = None
ujson.dumps(Foo())
бывает, я делал. но там особая магия была
источник
2021 March 07

ED

Eugene Denisov in PiterPy Meetup
Andrey Zakharevich
бывает, я делал. но там особая магия была
В этом чате кто-то даже кортеж в самого себя запихивал.
источник

Б

Боброний in PiterPy Meetup
Eugene Denisov
В этом чате кто-то даже кортеж в самого себя запихивал.
Лол, как?
источник

Б

Боброний in PiterPy Meetup
Language:
py3


Source:
import ctypes

tup = (0,)
ctypes.c_longlong.from_address(id(tup)+24).value = id(tup)
print(
   tup,
   tup[0] is tup,
   sep='\n'
)


Result:
((...),)
True
источник

Б

Боброний in PiterPy Meetup
источник

MK

Maxim Koltsov in PiterPy Meetup
Удивительно что принтер обрабатывает этот случай
источник

Б

Боброний in PiterPy Meetup
Maxim Koltsov
Удивительно что принтер обрабатывает этот случай
Не, на самом деле неудивительно
источник

Б

Боброний in PiterPy Meetup
В кортеже мог лежать список с рекурсией, например
источник

E

Eugene in PiterPy Meetup
Проблема pydantic или cython? 😏
источник

Б

Боброний in PiterPy Meetup
Eugene
Проблема pydantic или cython? 😏
твоя)
источник

Б

Боброний in PiterPy Meetup
Ты не строку передаёшь в **kwargs
источник

E

Eugene in PiterPy Meetup
Вот такая функция проверяет валидность имени. И из-за ситонизации она сломалась для всех сабкласов str
источник

E

Eugene in PiterPy Meetup
Боброний
Ты не строку передаёшь в **kwargs
строку
источник

Б

Боброний in PiterPy Meetup
Eugene
строку
Поспорим?)
источник

E

Eugene in PiterPy Meetup
Боброний
Поспорим?)
Я показал место где ломается. Ломается из-за того, что функция ситонизирована.
источник

E

Eugene in PiterPy Meetup
Names.FOO.startswith('_')
Out[31]: False
источник

E

Eugene in PiterPy Meetup
Сабкласс строки должен вести себя как строка везде. Но ситон про это не знает. И ошибка TypeError: Argument 'name' has incorrect type (expected str, got Names) из него
источник

Б

Боброний in PiterPy Meetup
А, действительно
источник