在 python 中声明一个名称为 'class' 的变量
Declaring a variable in python with the name 'class'
我想这样声明一个变量(在本例中为字符串):
class = "this is my string"
在 Python (3.6.3) 中,出现错误:
class = "This is my string"
^
SyntaxError: invalid syntax
它显然不喜欢我在 class
之后使用等号 (=
)。
假设我确实需要一个名为 class
的变量,但我不能将其更改为 myClass
或其他任何名称,这样的正确方法是什么?
您不能这样做,正如 Python 文档中明确指出的那样:
不能将保留字声明为变量。
谢天谢地 Python 不允许您这样做,class
是不能用作标识符的关键字。 PEP 8 中还提到的一种替代方法是使用尾部下划线:
class_ = ...
但您确实应该避免使用此类名称,因为它们主要 会造成混淆。您应该始终争取更具描述性。
如果 class
是唯一的选择,另一种(有点)可行的方法是使用字典:
>>> names = {'class': 'something'}
>>> names['class']
'something'
这是不可能的,但是 Python 中的某种传统是附加 class _ 以获得新标识符
这样使用:
class_ = "This is my string"
我想这样声明一个变量(在本例中为字符串):
class = "this is my string"
在 Python (3.6.3) 中,出现错误:
class = "This is my string"
^
SyntaxError: invalid syntax
它显然不喜欢我在 class
之后使用等号 (=
)。
假设我确实需要一个名为 class
的变量,但我不能将其更改为 myClass
或其他任何名称,这样的正确方法是什么?
您不能这样做,正如 Python 文档中明确指出的那样:
不能将保留字声明为变量。
谢天谢地 Python 不允许您这样做,class
是不能用作标识符的关键字。 PEP 8 中还提到的一种替代方法是使用尾部下划线:
class_ = ...
但您确实应该避免使用此类名称,因为它们主要 会造成混淆。您应该始终争取更具描述性。
如果 class
是唯一的选择,另一种(有点)可行的方法是使用字典:
>>> names = {'class': 'something'}
>>> names['class']
'something'
这是不可能的,但是 Python 中的某种传统是附加 class _ 以获得新标识符
这样使用:
class_ = "This is my string"