голосование
PHP
jQuery
Firebird
BASH
HTML
Ресурсы
GIT
SEO
Oracle
Python
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Константы Python

Хочу вам рассказать о константах 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',) ошибки не возникает. Значение переменной полностью заменяется другим значением. Будьте внимательны!

Предлагаю более сложный вариант. Тут словарь с кортежами. В примере показано как можно обращаться к значениям словаря. При попытке изменения кортежа происходит ошибка. Вы можете использовать этот способ.


#!/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
'''

Какой способ выбрать решать вам. Использовать кортежи надёжнее.

просмотры: 86, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-09-14 10:22:46
проголосовать:

Комментарии:






поиск
реклама
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
https://my.colobridge.net/aff.php?aff=047 серверы vps/vds облачный vps/vds сервер colobridge от 9,9 евро в месяц