TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs

Резултати

Пронајдени 129 слични објави

Пребарај: #bach

当前筛选 #bach清除筛选
Classical Music

@exploreclassical · Post #529 · 07.11.2024 г., 18:34

跳进 Passacaglia 的兔子洞(4)—— 管风琴 BWV 582 虽然BWV 582的不同版本都是挺好听的,但是一旦听了管风琴版就“曾经沧海难为水“了🤣不愧是“乐器之王”的魅力!听了好几首管风琴版,发现是不同的版本管风琴的音色选择居然可以完全不一样。个人对管风琴几乎没有任何了解,不过可能是巴赫当年没有写出来每一个地方需要什么音色,于是管风琴家就可以根据自己的理解以及使用的管风琴进行设置,这个工作叫做 organ registration,私以为一定程度上和orchestration有些类似(?我不懂哈只是瞎说 今天分享两个版本,一个是 Karl Richter 的版本,另一个是 Marie-Claire Alain的版本(见评论),大家可以比较比较他们的不同~ https://www.youtube.com/watch?v=_W4PJUOeVYw #bach

Hashtags

Classical Music

@exploreclassical · Post #528 · 05.11.2024 г., 19:06

跳进 Passacaglia 的兔子洞(3)—— BWV 582 的 transcriptions 大约是这首曲子太受人喜爱了,BWV 582有非常非常非常多的 transcription~这个小系列第一条里的 Leopold Stokowski 的交响乐版就是其中一个,除此之外还有 Ottorino Respighi,Eugene Ormandy等人的交响乐版。钢琴版比较有名的有 Eugen d’Albert 的版本和 Max Reger 改编的双钢琴版,Krystian Zimerman 也自己改编过一个版本。其他版本还有弦乐四重奏,铜管五重奏等等版本。 这里分享一张专辑,含有五个不同的 transcrpition~ https://youtube.com/playlist?list=OLAK5uy_k9gWmBhrs26FA9AbiTT1bLq97jkiv9Cwo&si=8bJpmgja-Snqlz30 #bach

Hashtags

Classical Music

@exploreclassical · Post #524 · 02.11.2024 г., 17:55

跳进Passacaglia的兔子洞(1)——什么是 Passacaglia? 前些天在广播里听到了交响乐版的 Bach 的Passacaglia and Fugue in C minor,于是略微跳进了兔子洞🤣了解了一下Passacaglia这个形制,Bach的这一首Passacaglia以及管风琴的一些知识~ 先是了解了一下 Passacaglia 这个形制。Passacaglia 是17世纪在西班牙起源的,这个词本身的意思大约就是 cross(passa) caglia(street)。最大的特点是有一个bass-ostinato,然后在这个基础上写很多旋律variation。一般 Passacaglia 都是三拍子的,而且有一种比较严肃的感觉。这个形制和 Chaconne 非常类似,后面也会被音乐家混合使用。 除了巴赫的这首著名的 Passacaglia and Fugue in C minor 之外,其他比较有名的 Passacaglia 还有 Handel 的 Harpsichord Suite No. VII in G minor (HWV 432)最后一个乐章, Purcell 的歌剧Dido and Aeneas 中的 Dido’s Lament,Mendelssohn 也写过一首管风琴的 Passacaglia in C minor (不愧是巴赫复兴鼻祖?😂),还有肖斯塔科维奇的 Lady Macbeth of Mtsensk Act 2 的 interlude (也有一个管风琴版本)。 扯了这么多,还是先分享一下拉我进兔子洞的罪魁祸首吧,由Leopold Stokowski改编的交响乐版 Bach: Passacaglia And Fugue In C Minor, BWV 582~ https://www.youtube.com/watch?v=naBh9Vhc6ZI #bach

Hashtags

Classical Music

@exploreclassical · Post #252 · 04.04.2021 г., 15:39

今天是中国传统节日清明节。早上分享的《忆故人》觉得很应合清明节“路上行人欲断魂“的气氛。 今天也是基督教的复活节,来听一首Bach的Easter Oratorio的选段~它的初次演出是1725年复活节(四月一日) #bach https://www.youtube.com/watch?v=EgQz899oW_8 ref:https://en.wikipedia.org/wiki/Easter_Oratorio

Hashtags

123•••1011
ПретходнаСтраница 1 од 11Следна