为什么我们不能将方法或类名定义为字符串?
我试图使用&在方法名称中,正常名称是抛出错误,所以我尝试在字符串中使用方法名称,如:
def 'order_date_&_time'(self, obj):
return obj.created_at
但它再次显示另一个错误(SyntaxError:语法无效)。
那么为什么我不能将方法或类名定义为字符串?
答案 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