В TypeStubs для стандартной библиотеки Python я заметил особый тип, называемый Maybenone , обычно в форме Normaltype | Maybenone . Например, в классе SQLite3-Cursor я нахожу это: < /p>
# Marker for return types that include None, but where forcing the user to
# check for None can be detrimental. Sometimes called "the Any trick". See
# CONTRIBUTING.md for more information.
MaybeNone: TypeAlias = Any # stable
(я не смог найти дополнительную информацию в Appling.md , что, я полагаю, является этой.)
Я понимаю Намерение маркировать тип возврата таким образом, чтобы пользователь не был вынужден проверять в случаях, когда NULL является скорее теоретической проблемой для большинства пользователей. Но как это достигает цели? < /P>
, кажется, подразумевает, что тип возврата может быть чем угодно, когда я хочу сказать, что он может быть иногда или в странных случаях, что нет , так что, похоже, это не выражает намерение.
mypy уже допускает излишние нулевые проверки на переменных, которые не могут быть доказаны не даже при (по крайней мере С моей конфигурацией?) Так что же достигает специальное типирование по сравнению с тем, что просто ничего не делает?
В TypeStubs для стандартной библиотеки Python я заметил особый тип, называемый Maybenone , обычно в форме Normaltype | Maybenone . Например, в классе SQLite3-Cursor я нахожу это: < /p> [code]class Cursor: # May be None, but using `| MaybeNone` (`| Any`) instead to avoid slightly annoying false positives. @property def description(self) -> tuple[tuple[str, None, None, None, None, None, None], ...] | MaybeNone: ... [/code] Определение этого Maybenone дано как: [code]# Marker for return types that include None, but where forcing the user to # check for None can be detrimental. Sometimes called "the Any trick". See # CONTRIBUTING.md for more information. MaybeNone: TypeAlias = Any # stable [/code] (я не смог найти дополнительную информацию в Appling.md , что, я полагаю, является этой.) Я понимаю Намерение маркировать тип возврата таким образом, чтобы пользователь не был вынужден проверять в случаях, когда NULL является скорее теоретической проблемой для большинства пользователей. Но как это достигает цели? < /P> [list] [*] [code]SomeType | Any[/code], кажется, подразумевает, что тип возврата может быть чем угодно, когда я хочу сказать, что он может быть иногда или в странных случаях, что нет , так что, похоже, это не выражает намерение.
[*] mypy уже допускает излишние нулевые проверки на переменных, которые не могут быть доказаны не даже при (по крайней мере С моей конфигурацией?) Так что же достигает специальное типирование по сравнению с тем, что просто ничего не делает?
В TypeStubs для стандартной библиотеки Python я заметил особый тип, называемый Maybenone , обычно в форме Normaltype | Maybenone . Например, в классе SQLite3-Cursor я нахожу это:
class Cursor:
# May be None, but using `| MaybeNone` (`| Any`)...
В TypeStubs для стандартной библиотеки Python я заметил особый тип, называемый Maybenone , обычно в форме Normaltype | Maybenone . Например, в классе SQLite3-Cursor я нахожу это:
class Cursor:
# May be None, but using `| MaybeNone` (`| Any`)...
В TypeStubs для стандартной библиотеки Python я заметил особый тип, называемый Maybenone , обычно в форме Normaltype | Maybenone . Например, в классе SQLite3-Cursor я нахожу это:
class Cursor:
# May be None, but using `| MaybeNone` (`| Any`)...
В TypeStubs для стандартной библиотеки Python я заметил особый тип, называемый Maybenone , обычно в форме Normaltype | Maybenone . Например, в классе SQLite3-Cursor я нахожу это:
class Cursor:
# May be None, but using `| MaybeNone` (`| Any`)...
В TypeStubs для стандартной библиотеки Python я заметил особый тип, называемый Maybenone , обычно в форме Normaltype | Maybenone . Например, в классе SQLite3-Cursor я нахожу это:
class Cursor:
# May be None, but using `| MaybeNone` (`| Any`)...