Skip to content

mixed-case-variable-in-global-scope (N816)

Derived from the pep8-naming linter.

What it does

Checks for global variable names that follow the mixedCase convention.

Why is this bad?

PEP 8 recommends that global variable names should be lower case and separated by underscores (also known as snake_case).

Global Variable Names

(Let’s hope that these variables are meant for use inside one module only.) The conventions are about the same as those for functions.

Modules that are designed for use via from M import * should use the all mechanism to prevent exporting globals, or use the older convention of prefixing such globals with an underscore (which you might want to do to indicate these globals are “module non-public”).

Function and Variable Names

Function names should be lowercase, with words separated by underscores as necessary to improve readability.

Variable names follow the same convention as function names.

mixedCase is allowed only in contexts where that’s already the prevailing style (e.g. threading.py), to retain backwards compatibility.

Example

myVariable = "hello"
another_variable = "world"
yet_anotherVariable = "foo"

Use instead:

my_variable = "hello"
another_variable = "world"
yet_another_variable = "foo"