Newb Newb - 1 year ago 52
Python Question

Why is there an underscore following the "from" in the Twilio Rest API?

In the twilio python library, we have this feature to create messages:

from import TwilioRestClient

and we can write:

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

My question is simple: why does an underscore follow the
parameter? Or why is that the parameter name? Is it because
is otherwise a keyword in Python and we differentiate variables from keywords with an underscore suffix? Is that actually necessary in this case?

wim wim
Answer Source

This is because from would be an invalid argument name, resulting in a SyntaxError - it's a python keyword.

Appending a trailing underscore is the recommended way to avoid such conflicts mentioned in the PEP8 style guide:

If a function argument's name clashes with a reserved keyword, it is generally better to append a single trailing underscore rather than use an abbreviation or spelling corruption.