我可以简化从Python中的字符串类型派生吗?

edA-qa mort-ora-y

我派生自str得到强类型的字符串引用。它们如下所示,它们是多余的,我想避免冗余:

class VarRef(str):
    def __new__(cls, *args, **kw):
        return str.__new__(cls, *args, **kw)

class SceneRef(str):
    def __new__(cls, *args, **kw):
        return str.__new__(cls, *args, **kw)

class AmbienceRef(str):
    def __new__(cls, *args, **kw):
        return str.__new__(cls, *args, **kw)

例如,这确保了我需要显式转换才能获得a,VarRef但否则它的功能类似于字符串。

我还有很多,希望有一种方法可以__new__为每个复制相同的构造函数。

我仅将这些用于MyPy类型检查,因此在运行时,如果它们是普通字符串,就可以了。如果有一种仅将它们标记为类型检查的机制,我很乐意使用该方法。

宫城先生

使用NewType声明一个类型,其在功能从基类型相同的,但不同的标称。

from typing import NewType

URL = NewType("URL", str)
fail: URL = "Hello World"  #  Incompatible types in assignment (expression has type "str", variable has type "URL")
docs: URL = URL("https://docs.python.org/3/library/typing.html")

请记住,对值的操作仍按常规定义,包括它们的类型。例如,docs + '#newtype'仍会产生str而不是URL

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以在python函数中搜索字符串吗?

来自分类Dev

我可以创建两种类型,它们等于从数字或字符串派生并求和或连接它们吗?

来自分类Dev

'\'可以在Python字符串中吗?

来自分类Dev

我可以在pascal中定义自己的字符串类型吗?

来自分类Dev

我们可以从Java中的字符串声明数据类型吗

来自分类Dev

我们可以修剪已经在列表中的字符串吗?在python中

来自分类Dev

我可以在Node中执行字符串命令吗?

来自分类Dev

我可以在protobuf中定义常量字符串吗?

来自分类Dev

我可以从字符串中获取列名吗?

来自分类Dev

我可以在格式字符串中添加变量吗?

来自分类Dev

我可以从单词python中添加字符串符号吗

来自分类Dev

我可以将重复的字符串存储在字符串数组中吗?

来自分类Dev

我可以在 Java Hash Map 中存储 50 mb 的字符串类型键值对数据吗

来自分类Dev

如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

来自分类Dev

如果我在字符串中但局部甚至可以python

来自分类Dev

类型基于Typescript中的字符串派生

来自分类Dev

我可以从已知位置开始并以给定字符结束的字符串中删除子字符串吗?

来自分类Dev

我可以在Python中搜索字符串的一部分,但使索引相对于原始字符串吗?

来自分类Dev

我可以在Python的JSON密钥中替换字符串的一部分吗?

来自分类Dev

可以将字符串转换为List <string>简化吗?

来自分类Dev

在oracle中,可以将字符串放入num数据类型列吗?

来自分类Dev

我们可以同时从C ++字符串中删除两个子字符串吗?

来自分类Dev

我可以使用数组中的字符串作为Swift中的选择器吗?

来自分类Dev

我可以在Java中的onclick中的“ this”之后插入字符串吗?

来自分类Dev

我可以声明sql命令的参数类型吗?我无法插入布尔值,它被认为是字符串

来自分类Dev

我可以更简洁地表达命名的Python字符串参数吗?

来自分类Dev

我可以在python中使用字符串作为命名参数吗

Related 相关文章

  1. 1

    我可以简化从Python中的字符串类型派生吗?

  2. 2

    我可以简化从Python中的字符串类型派生吗?

  3. 3

    我可以在python函数中搜索字符串吗?

  4. 4

    我可以创建两种类型,它们等于从数字或字符串派生并求和或连接它们吗?

  5. 5

    '\'可以在Python字符串中吗?

  6. 6

    我可以在pascal中定义自己的字符串类型吗?

  7. 7

    我们可以从Java中的字符串声明数据类型吗

  8. 8

    我们可以修剪已经在列表中的字符串吗?在python中

  9. 9

    我可以在Node中执行字符串命令吗?

  10. 10

    我可以在protobuf中定义常量字符串吗?

  11. 11

    我可以从字符串中获取列名吗?

  12. 12

    我可以在格式字符串中添加变量吗?

  13. 13

    我可以从单词python中添加字符串符号吗

  14. 14

    我可以将重复的字符串存储在字符串数组中吗?

  15. 15

    我可以在 Java Hash Map 中存储 50 mb 的字符串类型键值对数据吗

  16. 16

    如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

  17. 17

    如果我在字符串中但局部甚至可以python

  18. 18

    类型基于Typescript中的字符串派生

  19. 19

    我可以从已知位置开始并以给定字符结束的字符串中删除子字符串吗?

  20. 20

    我可以在Python中搜索字符串的一部分,但使索引相对于原始字符串吗?

  21. 21

    我可以在Python的JSON密钥中替换字符串的一部分吗?

  22. 22

    可以将字符串转换为List <string>简化吗?

  23. 23

    在oracle中,可以将字符串放入num数据类型列吗?

  24. 24

    我们可以同时从C ++字符串中删除两个子字符串吗?

  25. 25

    我可以使用数组中的字符串作为Swift中的选择器吗?

  26. 26

    我可以在Java中的onclick中的“ this”之后插入字符串吗?

  27. 27

    我可以声明sql命令的参数类型吗?我无法插入布尔值,它被认为是字符串

  28. 28

    我可以更简洁地表达命名的Python字符串参数吗?

  29. 29

    我可以在python中使用字符串作为命名参数吗

热门标签

归档