Python:如何在类中定义名为“class”的变量

时间:2017-04-04 06:18:58

标签: python python-3.x flask-sqlalchemy

我正在使用带有sqlalchemy的烧瓶。

我有一个定义如下的模型:

class Employee(db.Model):
    id = Column(Integer)
    class = Column(Text) #Can I do this? I need a field named 'class'.

如果没有,那么如何在python中定义与关键字相同的变量?

3 个答案:

答案 0 :(得分:-1)

您无法使用名称​​ class 定义变量,因为class是保留关键字。

https://docs.python.org/2.5/ref/keywords.html

  

2.3.1关键字

     

以下标识符用作保留字或关键字   语言, nd不能用作普通标识符。他们一定是   完全拼写如下:

     

和del来自不作为elif
  全局或断言否则如果通过
  产品中断除了导入打印
  高管继续最后是执行   为lambda尝试返回def

如果没有,那么如何在python中定义与关键字相同的变量?

根据评论中的建议,您可以在单词后附加一个字符(例如_),并且编译正常。

答案 1 :(得分:-1)

class_ = Column('class', Text)

会给你一个名为" class _"的orm字段。对应于数据库中名为" class"的列。听起来这可能是你想要做的事情。

这可能是也可能不是最好的事情。做一些像

这样的事情可能会更好
clas = Column(Text)

并故意拼写它"搞笑",只是为了让事情从长远来看更简单。当orm名称与列名相同时,SQLAlchemy非常高兴。

(这是否解决了您的问题?)

答案 2 :(得分:-1)

'类'是Python中受保护的单词,几乎意味着您无法覆盖它。如果你想要类似于' class',作为一个变量,那么我建议使用' Class'或者' class_(班级名称/主题)'克服你的问题。