There is no constant in Python, so a truly constant dictionary is not possible. However, you can create a constant by using a dictionary that is read-only (i.e., can’t be modified after initialization) and contains key-value pairs that represent the constant values.
Python constant dictionary example
Simple example code makes the dictionary read-only by setting __readonly___ attribute
CON_DICT = {
"a": 10,
"b": 20,
"c": 90
}
# Make the dictionary read-only by setting __readonly__ attribute
class ReadOnlyDict(dict):
__readonly__ = True
def __setitem__(self, key, value):
if self.__readonly__:
raise TypeError("Can't modify read-only dictionary")
return super().__setitem__(key, value)
CON_DICT['c'] = 30
RES_DICT = ReadOnlyDict(CON_DICT)
print(RES_DICT)
RES_DICT['c'] = 90
Output:

What are Python’s best practices for dictionary dict key constants?
Answer: First Use uppercase letters and underscores to name your constants. Then Use frozenset and Enum class to define constants.
from enum import Enum
class Keys(Enum):
NAME = "name"
AGE = "age"
EMAIL = "email"
my_dict = {
Keys.NAME: "John",
Keys.AGE: 25,
Keys.EMAIL: "[email protected]"
}
print(my_dict)
my_dict['Keys.NAME'] = "FN"
Do comment if you have any doubts or suggestions on this Python constant topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.