ISBN
pydantic_extra_types.isbn
模块提供了接收和验证 ISBN 的功能。
ISBN(国际标准书号)是一个旨在独一无二的数字商业图书标识符。本模块为 Pydantic 模型提供了一个 ISBN 类型。
ISBN ¶
基类: 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
从提供的字符串值中验证 ISBN 格式。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
值
|
str
|
表示 10 位或 13 位 ISBN 的字符串值。 |
必需 |
抛出
类型 | 描述 |
---|---|
PydanticCustomError
|
如果 ISBN 无效。 |
源代码在 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。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
值
|
str
|
要转换的 ISBN-10 值。 |
必需 |
返回
类型 | 描述 |
---|---|
str
|
转换后的 ISBN 或如果不需要转换则为原始值。 |
源代码在 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 ¶
从提供的字符串值中计算 ISBN-10 的最后一位数字。更多关于验证算法的信息请参见 维基百科
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
isbn
|
str
|
表示 10 位 ISBN 的字符串值。 |
必需 |
返回
类型 | 描述 |
---|---|
str
|
计算出的 ISBN-10 值的最后一位数字。 |
源代码在 pydantic_extra_types/isbn.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
isbn13_digit_calc ¶
从提供的字符串值中计算 ISBN-13 的最后一位数字。更多关于验证算法的信息请参见 维基百科
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
isbn
|
str
|
表示 13 位 ISBN 的字符串值。 |
必需 |
返回
类型 | 描述 |
---|---|
str
|
计算出的 ISBN-13 值的最后一位数字。 |
源代码在 pydantic_extra_types/isbn.py
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|