46

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?

2

2 Answers 2

75

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 name for sets, i.e set, won't get shadowed and lose its known reference during the function call.

Sign up to request clarification or add additional context in comments.

Comments

12

It means nothing. I believe the one who wrote this wanted a variable name designating a set, but set is a type in Python (which creates a set), so he added the underscore.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.