2016-08-01 64 views
5

twilio python library,我们有这个功能来创建消息:为什么在Twilio Rest API中的“from”后面有下划线?

from twilio.rest import TwilioRestClient

,我们可以这样写:

msg = TwilioRestClient.messages.create(body=myMsgString, from_=myNumber, to=yourNumber)

我的问题很简单:为什么下划线遵循from参数?或者为什么是参数名称?是否因为from是Python中的其他关键字,我们用带下划线后缀的关键字区分变量?这在这种情况下实际上是必要的吗?

+2

你已经回答了你自己。你不能使用'from',因为它是一个关键字。 [PEP8](https://www.python.org/dev/peps/pep-0008/#descriptive-naming-styles)建议这样做并给出'class_'的例子。 – Holloway

回答

11

这是因为from将是一个无效的参数名称,导致SyntaxError - 这是一个python关键字。

追加尾随下划线是为了避免在PEP8 style guide提到这种冲突的推荐方式:

如果一个函数的参数与保留关键字名称冲突,所以一般最好附加一个尾随下划线,而不是使用缩写或拼写损坏。

+1

嘿wim,谢谢你的回答!我在Twilio-Python帮手库中最喜欢的一个陷阱;)我可以为你提供一件衬衫,帮助你为社区做贡献吗?有关详细信息,请发送电子邮件至[email protected]。 –

+1

嘿,我收到了[T恤](http://i.stack.imgur.com/oQQF7.jpg)。干杯! – wim

相关问题