nanachan nanachan - 3 months ago 9
Python Question

Underscore after a variable name in python

I am deciphering someone else's code and I see the following:

def get_set_string(set_):
if PY3:
return str(set_)
else:
return str(set_)


Does the underscore AFTER the variable mean anything or is this just a part of the variable's name and means nothing?

Jim Jim
Answer

No semantics are associated with a trailing underscore. According to PEP 8, the style guide for Python, users are urged to use trailing underscores in order to not conflict with Python keywords and/or Python built-ins:

single_trailing_underscore_ : used by convention to avoid conflicts with Python keyword, e.g.

Tkinter.Toplevel(master, class_='ClassName')

Using set_ means that the built-in set won't get shadowed and lose its meaning during the function call.