为什么我们不能将方法或类名定义为字符串?

时间:2017-03-17 13:52:24

标签: python python-3.x

为什么我们不能将方法或类名定义为字符串?

我试图使用&在方法名称中,正常名称是抛出错误,所以我尝试在字符串中使用方法名称,如:

def 'order_date_&_time'(self, obj):
        return obj.created_at

但它再次显示另一个错误(SyntaxError:语法无效)。

  

那么为什么我不能将方法或类名定义为字符串?

2 个答案:

答案 0 :(得分:3)

函数名称需要遵循与标识符相同的语法。 Python中的标识符遵循某个规则,该规则不允许标识符以'之类的符号开头。已接受的标识符形式在相应的section of the reference manual.

中明确定义

你不能因为为标识符定义的语法规则不允许它,就这么简单。

标识符应该是可读的,这就是为什么不允许&之类的字符。

答案 1 :(得分:0)

python语法没有这样定义

看看这个关于语法的讲座(在CS中),以了解语法是如何定义的,以及为什么必须始终尊重它,尽管它允许相当多的灵活性 https://www.cs.princeton.edu/courses/archive/fall2000/cs126/lectures/T3-4up.pdf