Naming Conventions in Python
🐍 The naming conventions in Python are defined in the official PEP 8 Style Guide. They ensure uniform, readable, and maintainable code. Here’s a comprehensive overview:
🧠 Naming Conventions in Python (PEP 8) #
🔤 1. General Rules #
- Use descriptive names – no cryptic abbreviations.
- Use English terms, unless you’re working on a project with another language.
- Use snake_case for functions, variables, and methods.
- Use PascalCase for classes.
- Use UPPER_CASE for constants.
📦 2. Modules and Packages #
Element | Convention | Example |
---|---|---|
Module name | lowercase or snake_case |
math_tools.py |
Package name | lowercase |
utilities |
🧮 3. Variables #
Type | Convention | Example |
---|---|---|
Local Variable | snake_case |
student_count |
Global Variable | snake_case |
max_value |
Constant | UPPER_CASE |
PI = 3.14159 |
🧪 4. Functions and Methods #
Type | Convention | Example |
---|---|---|
Function | snake_case |
calculate_grade() |
Instance Method | snake_case |
draw_shape() |
Class Method | snake_case |
create_from_dict() |
Static Method | snake_case |
is_valid() |
🧱 5. Classes #
Type | Convention | Example |
---|---|---|
Class | PascalCase |
Student , TurtleArtist |
Exception Class | PascalCase |
FileError |
🔮 6. Magic Methods (Dunder Methods) #
Type | Convention | Example |
---|---|---|
Special Methods | __method__ |
__init__ , __str__ , __repr__ |
🛡️ 7. Private and Protected Names #
Type | Convention | Example |
---|---|---|
Protected | _name |
_internal_method() |
Private | __name |
__secret_data |
🧪 8. Class Attributes vs. Instance Attributes #
- Class attributes:
snake_case
, often with@classmethod
- Instance attributes:
self.attribute_name
🧠 Memory Rules: #
- Functions, Variables, Methods →
snake_case
- Classes, Exceptions →
PascalCase
- Constants →
UPPER_CASE
- Private Things → start with
_
or__
Yes, CamelCase exists in Python – but it’s only recommended in specific cases. 🐍 The official convention according to PEP 8 is:
🐫 CamelCase vs. PascalCase vs. snake_case #
Style | Description | Example | Usage in Python |
---|---|---|---|
snake_case |
Lowercase with underscores | calculate_grade() |
✅ Functions, Variables |
PascalCase |
Capital letters at word beginnings | StudentClass |
✅ Class names |
camelCase |
First word lowercase, then capitalized | calculateGrade() |
❌ Not recommended in Python |
❌ Why camelCase
is not common in Python:
#
- It comes from other languages like JavaScript, Java, or C#.
- Python prefers readability through underscores (
snake_case
). - Consistent style is important for collaboration and maintenance.
✅ When you still see CamelCase
:
#
- When working with external libraries that come from other languages.
- In JSON data or APIs, e.g.:
{ "userName": "Lena", "userAge": 12 }
- When importing JavaScript objects in web projects with Python backends.
🧠 Conclusion for Students: #
In Python:
🔤 Functions & Variables →snake_case
🧱 Classes →PascalCase
🐫 camelCase → better avoid!