Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 21, 2015 01:33:26

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Глупый вопрос насчет констант.

py.user.next
Он, по-моему, попытался проиллюстрировать кортеж кодом на C++, но получилось неправильно.
нет, я просто хотел как-то показать что можно изменить массив который распоожен в неизменяемом массиве, но неудачно )
прост у меня сложилось впечетление что все когда говорят о константах сразу думают о си, вот я и попытался вспомнить былые времена
py.user.next но разве не можно назвать кортежи и строки константами
пару строк с википедии
Постоя́нная, или конста́нта (лат. constanta — постоянная, неизменная) — некоторая величина, не изменяющая своё значение в рамках рассматриваемого процесса.
Конста́нта в программировании — способ адресации данных, изменение которых рассматриваемой программой не предполагается или запрещается.
и вот еще
в оф документации по модулю string:
String constants
The constants defined in this module are:
string.ascii_letters
The concatenation of the ascii_lowercase and ascii_uppercase constants described below. This value is not locale-dependent.
string.ascii_lowercase
The lowercase letters ‘abcdefghijklmnopqrstuvwxyz’. This value is not locale-dependent and will not change.
вот скажите ascii_lowercase это константа?
но эта константа в файле string.py объявляется очень просто
lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_lowercase = lowercase



————————————————
-*- Simple is better than complex -*-

Офлайн

#2 Янв. 21, 2015 01:57:01

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Глупый вопрос насчет констант.

terabayt
py.user.next но разве не можно назвать кортежи и строки константами
Есть как бы два определения. Первое - это вот с википедии, что константа - это противоположность переменной. Но автор спросил “а нафиг они нужны?”. И вот есть второе определение - константы в программном коде - неизменные сущности, от значения которых поведение программы не меняется.

Вот эти константы из модуля string как раз являются константами не потому, что они являются строками (неизменными питоновскими объектами), а потому что дают какой-то набор, который может и расширяться, и меняться со временем, но в нём никогда не появится неподходящего символа.



Офлайн

#3 Янв. 21, 2015 02:02:46

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Глупый вопрос насчет констант.

значит когда я говорю что строки и кортежи константы это не ошибка?
прост смотря по контексту



————————————————
-*- Simple is better than complex -*-

Офлайн

#4 Янв. 21, 2015 03:01:17

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Глупый вопрос насчет констант.

terabayt
значит когда я говорю что строки и кортежи константы это не ошибка?

terabayt
Конста́нта в программировании — способ адресации данных, изменение которых рассматриваемой программой не предполагается или запрещается.

А кортежи нельзя менять?

>>> t = ([],)
>>> t
([],)
>>> f
<function f at 0xb74694f4>
>>> f(t)
>>> t
([1, 2, 3],)
>>>

Допустим, что вычисление кортежа включает в себя подсчёт его содержимого. Будет ли результат одинаков? Вот для строки всё будет одинаково, а для кортежа - нет.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version