This is a Python coding convention, yes. Best practice is to use _ where you don't care about the value being set, for example when unpacking values from a tuple. Sometimes, however, needing this is a sign you may be doing something else in a non-Pythonic way.
_ as a prefix is used to indicate "private" methods and variables, like Phil Cooper said. Use this to indicate that these methods are not part of any public contract other modules can or should rely on.
Some references:
- What is the purpose of the single underscore "_" variable in Python?
- Underscores as function prefixes
- What is the meaning of a single- and a double-underscore before an object name?
- Why does python use two underscores for certain things?