Найти - Пользователи
Полная версия: Глупый вопрос насчет констант.
Начало » Python для новичков » Глупый вопрос насчет констант.
1 2 3
terabayt
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
py.user.next
terabayt
py.user.next но разве не можно назвать кортежи и строки константами
Есть как бы два определения. Первое - это вот с википедии, что константа - это противоположность переменной. Но автор спросил “а нафиг они нужны?”. И вот есть второе определение - константы в программном коде - неизменные сущности, от значения которых поведение программы не меняется.

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

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

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

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

Допустим, что вычисление кортежа включает в себя подсчёт его содержимого. Будет ли результат одинаков? Вот для строки всё будет одинаково, а для кортежа - нет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB