2016-10-10 131 views
0

我检查了Python风格指南,并且没有找到具有带保留字的实例变量名称的特定引用,例如, self.type,self.class实例变量名称Python中的保留字

这是什么最佳做法?

+1

中的评论[为什么不能属性的名称是Python的关键字?]的讨论(HTTP://计算器。 com/questions/9746838/why-cant-attribute-names-be-python-keywords)建议你应该[附加下划线](http://stackoverflow.com/questions/9746838/why-cant-attribute-names-是的Python的关键字#comment12398462_9746838)。 – Aurora0001

+0

'class'是一个关键字。你不能使用它。 'type'不是关键字,所以你可以。 'self.type = something'实际上不是问题,但是一个变量'type = x'是一个更大的探针,因为它隐藏了我所看到的内置的'type'类型' – zvone

+0

。非常感谢! – Pablo

回答

1

如果可能,避免它。

你可以得到,并通过getattrsetattr设置这样的属性,但它们不能与普通点语法(类似obj.class是一个语法错误)来访问,所以他们是一个痛苦的使用。

由于Aurora0001在评论中提到,如果您需要使用它们,约定是附加下划线。 “需要”具有这些属性的最常见原因是它们是从外部数据源编程生成的。

(注意type不是关键字,所以你可以做self.type就好了。)