重构第一版:重新验证2.0推荐写法

This commit is contained in:
geeker
2026-09-24 17:19:56 +08:00
parent 81db17ba9e
commit 0d71808498
21 changed files with 1887 additions and 936 deletions
+24
View File
@@ -0,0 +1,24 @@
from datetime import datetime
from pydantic import BaseModel
class User(BaseModel):
id: int
name: str = "John Doe"
signup_ts: datetime | None = None
friends: list[int] = []
external_data = {
"id": "123",
"signup_ts": "2017-06-01 12:22",
"friends": [1, "2", b"3"],
}
user = User(**external_data)
print(user)
# > User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3]
print(user.id)
# > 123
print(type(user.friends[0]),type(user.friends[1]),type(user.friends[2]))