ISBN
pydantic_extra_types.isbn
模块提供了接收和验证 ISBN 的功能。
ISBN(国际标准书号)是一个旨在成为唯一的数字商业图书标识符。此模块为 Pydantic 模型提供了一个 ISBN 类型。
ISBN ¶
Bases: str
表示 ISBN,并提供转换、验证和序列化方法。
from pydantic import BaseModel
from pydantic_extra_types.isbn import ISBN
class Book(BaseModel):
isbn: ISBN
book = Book(isbn="8537809667")
print(book)
#> isbn='9788537809662'
validate_isbn_format staticmethod
¶
validate_isbn_format(value: str) -> None
从提供的 str 值验证 ISBN 格式。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
value
|
str
|
表示 10 位或 13 位 ISBN 的 str 值。 |
必需 |
引发
类型 | 描述 |
---|---|
PydanticCustomError
|
如果 ISBN 无效。 |
Source code in .venv/lib/python3.12/site-packages/pydantic_extra_types/isbn.py
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
|
convert_isbn10_to_isbn13 staticmethod
¶
将 ISBN-10 转换为 ISBN-13。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
value
|
str
|
要转换的 ISBN-10 值。 |
必需 |
返回
类型 | 描述 |
---|---|
str
|
转换后的 ISBN 或原始值(如果不需要转换)。 |
Source code in .venv/lib/python3.12/site-packages/pydantic_extra_types/isbn.py
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
|
isbn10_digit_calc ¶
从提供的 str 值计算 ISBN-10 的最后一位数字。有关验证算法的更多信息,请访问 Wikipedia
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
isbn
|
str
|
表示 10 位 ISBN 的 str 值。 |
必需 |
返回
类型 | 描述 |
---|---|
str
|
计算出的 ISBN-10 值的最后一位数字。 |
Source code in .venv/lib/python3.12/site-packages/pydantic_extra_types/isbn.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
isbn13_digit_calc ¶
从提供的 str 值计算 ISBN-13 的最后一位数字。有关验证算法的更多信息,请访问 Wikipedia
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
isbn
|
str
|
表示 13 位 ISBN 的 str 值。 |
必需 |
返回
类型 | 描述 |
---|---|
str
|
计算出的 ISBN-13 值的最后一位数字。 |
Source code in .venv/lib/python3.12/site-packages/pydantic_extra_types/isbn.py
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|