Python Naming Conventions¶
1. General¶
Avoid using names that are too general or too wordy. Strike a good balance between the two.
Bad: data_structure, my_list, info_map, dictionary_for_the_purpose_of_storing_data_representing_word_definitions
Good: user_profile, menu_options, word_definitions
Don’t be a jackass and name things “O”, “l”, or “I”
When using CamelCase names, capitalize all letters of an abbreviation (e.g. HTTPServer)
2. Packages¶
Package names should be all lower case
When multiple words are needed, an underscore should separate them
It is usually preferable to stick to 1 word names
3. Modules¶
Module names should be all lower case
When multiple words are needed, an underscore should separate them
It is usually preferable to stick to 1 word names
4. Classes¶
Class names should follow the UpperCaseCamelCase convention
Python’s built-in classes, however are typically lowercase words
Exception classes should end in “Error”
5. Global (module-level) Variables¶
Global variables should be all lowercase
Words in a global variable name should be separated by an underscore
6. Instance Variables¶
Instance variable names should be all lower case
Words in an instance variable name should be separated by an underscore
Non-public instance variables should begin with a single underscore
If an instance name needs to be mangled, two underscores may begin its name
7. Methods¶
Method names should be all lower case
Words in an method name should be separated by an underscore
Non-public method should begin with a single underscore
If a method name needs to be mangled, two underscores may begin its name
8. Method Arguments¶
Instance methods should have their first argument named ‘self’.
Class methods should have their first argument named ‘cls’
9. Functions¶
Function names should be all lower case
Words in a function name should be separated by an underscore
10. Constants¶
Constant names must be fully capitalized
Words in a constant name should be separated by an underscore