В каком типе питона хранить настройки программы?

Хочется получить и хранить настройки изолировано и обращаться из переменной. Т.е. типа

def settings() 
 a = list()
 ...
 return a

Не нравится что потом приходится обращаться к значениям не красиво через точку

m = a.key1

а так

m =  a['key1']

А нельзя хранить настройке в объекте класса? Смущает только что нужно создавать целый класс для одного объекта. Или это нормально так?

В целом верные ли у меня рассуждения?


Ответы (1 шт):

Автор решения: nomnoms12

А нельзя хранить настройке в объекте класса?

Можно. Например с помощью Data classes:

from dataclasses import dataclass


@dataclass
class Settings:
    a: str = 'Spam!'
    b: str = 'Eggs'


settings = Settings()

settings.a  # Spam!
settings.b  # Eggs

Ещё есть вариант хранить настройки программы в отдельном модуле. Создайте файл settings.py и добавьте в него необходимые константы, затем просто импортируйте его:

import settings

settings.a  # Spam!
settings.b  # Eggs
→ Ссылка