ПРИСВАИВАНИЕ И СОЗДАНИЕ ОБЪЕКТОВ В PYTHON
Для присваивания значений переменным в Python служит оператор «=«.
Выражение, стоящее справа от оператора присваивания, вычисляется, и полученное значение присваивается переменной, стоящей слева от оператора присваивания. При этом предыдущее значение, хранящееся в переменной, стирается и заменяется на новое. Если такой переменной не существует, то она создается и в нее записывается значение.
Создание переменных и объектов в Python происходит с помощью оператора присваивания.
Оператор » присвоить переменной a значение 5″.
Cложить значения 5 и 3, результат присвоить переменной x (записать в переменную x).
x = 5 + 3
Прибавить 4 к значению, хранящемуся в переменной a, полученный результат присвоить переменной b (записать в переменную b).
b = a + 4
Прибавить 1 к значению, хранящемуся в переменной b, полученный результат присвоить переменной b (записать в переменную b).
b = b + 1
В результате выполнения этой строчки кода, значение переменной b увеличится на 1.
В правой части значение переменной может использоваться много раз:
c = b * b + 3 * b
Множественное присваивание
Множественное присваивание (позиционное присваивание) в Python реализуется следующим образом:
a, b, c = 5, 3, 1
В результате выполнения этой строки кода в переменной a окажется число 5, в переменной b — 3, в переменной c — 1. Количество значений и количество переменных справа и слева от оператора присваивания должно совпадать. При множественном присваивании порядок присваивания формируется слева направо.
С помощью множественного присваивания можно поменять значения переменных между собой.
a, b = 5, 3 a, b = b, a print(a, b)
Множественное присваивание со списками
list1 = [5, 3, 1] a, b, c = list1
В переменной a окажется число 5, в переменной b — 3, в переменной c — 1.
Количество переменных должно быть равно количеству элементов списка.
Аналогичным образом это работает и для кортежей.
Множественное присваивание со строками
str1 = "make" a, b, c, d = str1
В a окажется «m», в b — «a», в c — «k», в d — «e».
Количество переменных должно быть равно количеству символов в строке.
Каскадное присваивание
Python поддерживает каскадное присваивание:
a = b = c = 5
В результате выполнения этой строки кода во всех переменных окажется число 5. Присваивание при это идет каскадом справа налево.
Инициализация переменных
Любая переменная, использующаяся в выражении, должна существовать.
Допустим, мы написали следующую программу:
a = 5 b = 3 d = a + b + c print(d)
При ее запуске мы получим сообщение об ошибке «NameError: name ‘c’ is not defined» , которое говорит нам, что переменная «c» не определена.
Действительно, переменной «c» в нашей программе не существует и при вычислении выражения a + b + c интерпретатор Python столкнулся с этой проблемой. Попробуем исправить эту ситуацию.
a = 5 b = 3 c = 2 d = a + b + c print(d)
Теперь всё нормально и после запуска программы мы получим результат вычислений.
Особенно важно обращать внимание на существование переменной в конструкциях, используемых, например, для счетчиков.
Следующий код вернет ошибку «NameError: name ‘k’ is not defined» .
k = k + 1 print(k)
Интерпретатор не сможет вычислить значение выражения k + 1, так как переменная k не определена.
Чтобы код нормально работал, следует создать переменную k, присвоив ей, например, 0. Это называется инициализировать переменную.
k = 0 k = k + 1 print(k)
Составное присваивание
В составном операторе присваивания используются арифметические операторы.
Пример сложения с присваиванием:
a = 2 a += 5 print(a)
Составной оператор += прибавляет к переменной значение выражения справа от оператора присваивания и записывает получившийся результат в эту переменную.
a += 5 эквивалентно a = a + 5.
Составные операторы присваивания используются для сокращения записи.
Таблица с составными операторами присваивания и их эквивалентами
Как присвоить к слову число
А я хочу чтобы программа вместо меня ставила последовательно каждому слову своё число. Выглядит это вот так:
[1]Василий [2]Марго [3]Александр
И так далее. Как это сделать? Посмотрел везде нигде не нашёл ответа 🙁
Отслеживать
задан 26 мая 2020 в 7:08
67 13 13 бронзовых знаков
на входе что — срока, список?
26 мая 2020 в 7:12
на входе файл со строками который я прочитал через метод read()
26 мая 2020 в 7:13
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Для перебора значений с получением номера можно использовать enumerate , а для формирования строки с номером использовать f-строки
words = ['Василий', 'Марго', 'Александр'] for i, word in enumerate(words, 1): print(f'[] ')
Отслеживать
ответ дан 26 мая 2020 в 7:22
76.9k 6 6 золотых знаков 56 56 серебряных знаков 123 123 бронзовых знака
Объедините слова в структуре хранения данных (коллекции/массиве), пробегитесь циклом for по выбранной структуре и выводите значение переменной цикла (счетчика) перед словом
Отслеживать
ответ дан 26 мая 2020 в 7:11
Ivan Belyaev Ivan Belyaev
193 10 10 бронзовых знаков
извините, но я начинающий, по-этому для меня пока сложно понять как это сделать
26 мая 2020 в 7:15
- python
- циклы
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
2. Переменные в Python
Для простых вычислений, таких как \(5+9*7\) или \(6**~9\), можно использовать командный режим Python, но для написания программ необходим ещё один важный компонент программы — переменная. Что такое переменная?
Переменная — это величина, которая имеет имя, тип и значение.
К переменной обращаются по её имени, как и к любому объекту. Имя переменной в Python имеет ограничения: начинаться имя должно только с латинской буквы или с нижнего подчёркивания «_», служебные слова языка программирования не могут быть именами.
- хорошие имена: \(a\), \(B\), \(K3\), _ \(LETO\) .
- плохие имена: \(and\) (знак логической операции), \(1TTT\) (начинается с цифры), \(print\) (служебное слово).
Переменная — это контейнер для хранения различных значений (данных).
Чтобы переменная получила какое-то значение, его нужно присвоить.
В Python команда «присвоить» — это знак «\(=\)».
Способы присваивание значений
В Python операции присваивания бывают трех видов: простое присваивание, составное присваивания и выражения присваивание.
Простое присваивание значения переменной name = expr , это способ, создать новую переменную или повторно связать существующую переменную с другим значением. Простое присваивание значения атрибуту объекта x.attr = expr , это запрос к объекту x создать или повторно связать атрибут. Простое присваивание значения элементу контейнера, x[k] = expr , это запрос к контейнеру x создать или повторно связать элемент с индексом или ключом k .
Составное присваивание, например name += expr не может само по себе создать новую ссылку. Такое присваивание может лишь повторно связать переменную, а также попросить объект повторно связать один из его существующих атрибутов или элементов или изменить самого себя. Когда идет обращаетесь к объекту, он самостоятельно решает, как именно удовлетворить этот запрос или бросить исключение.
Выражения присваивания введено в Python 3.8. Это способ присваивания значение переменной в выражении с использованием обозначения name := expr . Оператор := стал неофициально известен как «оператор моржа», в связи его схожестью с моржом. Формальное имя конструкции — «Выражения присваивания», но они также могут упоминаться как «Именованные выражения» (например, эталонная реализация CPython использует это имя внутри).
Обычный способ присваивания значений в Python
Когда выполняется операция присваивания, Python вычисляет выражение expr, а затем связывает полученное значение с целевой ссылкой. Это связывание не зависит от типа значения, поэтому допускается связывать с переменными функции, методы, типы и други
Групповое присваивания значений в Python
Простое присваивание значений допускает использование цепочек, образованных целевыми ссылками и знаками равенства `=`.
Распаковка/упаковка последовательностей в Python
Целевой ссылкой в операции присваивания может служить список, состоящий из двух и более ссылок, разделенных запятыми, которые могут заключаться в необязательные круглые или квадратные скобки.
Присваивание значений на месте в Python
Операция составного присваивания, другое название «присваивание на месте» отличается от простоrо присваивания тем, что вместо знака равенства `=` в ней используется составной оператор, это комбинация бинарного оператора и оператора `=`
Присваивание значений в выражении walrus в Python
Выражения присваивания введено в Python 3.8 и означает способ присваивания значения переменной в выражении. В большинстве случаев область, в которой будет привязана переменная при таком присваивании, это текущая область видимости.