Хочу вам рассказать о константах Python. Константы в питоне ничем не отличаются от простых переменных. Константы пишут с больших букв. Например IP_SERVER='111.11.11.11'. Вы можете налету переписать значение константы и потом ваш питоновский скрипт не выдаст ошибку. В языке PHP константа объявляется один раз и попытка изменения значения константы приводит к ошибке.
#!/usr/bin/python3
NAME_SERV='MAIN'
print(NAME_SERV)
'''
вывод:
MAIN
'''
# случайное изменение значения
NAME_SERV='MAIN2'
print(NAME_SERV)
'''
вывод:
MAIN2
'''
# обязательно поставьте запятую
NAME_SERV = ('MAIN3',)
print(NAME_SERV[0])
NAME_SERV[0] = 'MAIN4'
'''
вывод:
Traceback (most recent call last):
File "./constant.py", line 22, in
NAME_SERV[0] = 'MAIN4'
TypeError: 'tuple' object does not support item assignment
'''
При такой попытке изменения значения (NAME_SERV[0] = 'MAIN4') возникает ошибка, но при таком таком изменении NAME_SERV = ('MAIN4',) ошибки не возникает. Значение переменной полностью заменяется другим значением. Будьте внимательны!
Предлагаю более сложный вариант. Тут словарь с кортежами. В примере показано как можно обращаться к значениям словаря. При попытке изменения кортежа происходит ошибка. Вы можете использовать этот способ. Подробнее о кортежах читайте на странице кортежи Python
#!/usr/bin/python3
SERVER = {'name': ('main',), 'ip': ('128.11.11.11',)}
print(SERVER)
'''
вывод:
{'ip': ('128.11.11.11',), 'name': ('main',)}
'''
print('server name:', SERVER['name'][0], 'ip:', SERVER['ip'][0],)
'''
вывод:
server name: main ip: 128.11.11.11
постараемся изменить значение name
'''
SERVER['name'][0] = 'main2'
'''
вывод:
Traceback (most recent call last):
File "./constant.py", line 44, in
SERVER['name'][0] = 'main2'
TypeError: 'tuple' object does not support item assignment
'''
Какой способ выбрать решать вам. Использовать кортежи надёжнее.