将数字分配给 python 中的字符串常量
Assign a number to a string constant in python
最近我在Python看到了这样的东西:
const: str = 5;
我认为它会报错,因为一个是将一个数值赋给一个声明为常量的字符串;然而,当我打印 const+5 时,跳到另一个错误,它给了我 10,就好像 const 是一个数字常量。
这里发生了什么?
这里有两点需要理解:
const
在Python中没有特殊意义。在这里它只是被用作变量名(这有点邪恶,因为它只能用来混淆粗心的人)。
- Python 解释器不强制执行类型注释。但是,如果您 运行 在您的代码上使用静态类型检查器,则分配不兼容的类型会产生错误:
test.py:1: error: Incompatible types in assignment (expression has type "int", variable has type "str")
另外请注意,分号在 Python 中不是必需的,分号通常被认为是不好的风格。
最近我在Python看到了这样的东西:
const: str = 5;
我认为它会报错,因为一个是将一个数值赋给一个声明为常量的字符串;然而,当我打印 const+5 时,跳到另一个错误,它给了我 10,就好像 const 是一个数字常量。
这里发生了什么?
这里有两点需要理解:
const
在Python中没有特殊意义。在这里它只是被用作变量名(这有点邪恶,因为它只能用来混淆粗心的人)。- Python 解释器不强制执行类型注释。但是,如果您 运行 在您的代码上使用静态类型检查器,则分配不兼容的类型会产生错误:
test.py:1: error: Incompatible types in assignment (expression has type "int", variable has type "str")
另外请注意,分号在 Python 中不是必需的,分号通常被认为是不好的风格。