ПРИСВАИВАНИЕ И СОЗДАНИЕ ОБЪЕКТОВ В 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.
Составные операторы присваивания используются для сокращения записи.
Таблица с составными операторами присваивания и их эквивалентами
Как увеличить значение и уменьшить его на необходимо число?
Подскажите метод работы со списком, мне необходимо прибавить например единицу к силе [«сила»,0+1] -> [«сила»,1]
и так что бы можно было вычесть!
stats = [["сила",0],["здоровье", 1],["мудрость",0],["ловкость", 0]]
Не смог найти способ добавить, метод append не подходит или я не нашел тот способ что бы с помощью него добавить.
stats[0].append([[0],[1]+[stat1]]) stats[1].append([[1],[1]+[stat2]])
Тут я просто добавляю новый кусок, а как добавить именно к тому же, как к нему обратиться
- Вопрос задан более трёх лет назад
- 5735 просмотров
Комментировать
Решения вопроса 1
Python Enthusiast
Привет, Вадим!
Ну, самый простой вариант — обращаться по индексу:
>>> stats = [["сила",0],["здоровье", 1],["мудрость",0],["ловкость", 0]] >>> stats[0][1] += 1 >>> stats [['сила', 1], ['здоровье', 1], ['мудрость', 0], ['ловкость', 0]] >>> stats[1][1] += 5 >>> stats [['сила', 1], ['здоровье', 6], ['мудрость', 0], ['ловкость', 0]] >>> stats[1][1] -= 2 >>> stats [['сила', 1], ['здоровье', 4], ['мудрость', 0], ['ловкость', 0]]
Ответ написан более трёх лет назад
Нравится 1 2 комментария
Vadim kyklaed @kyklaed Автор вопроса

Ответы на вопрос 1
Мне кажется удобнее было бы хранить данный набор в словаре. Тогда обращение к нему можно делать по ключу, передавая в значение +-1:
stats =
stats[«сила»] += 1
stats[«сила»] -= 1
Если цель именно со списком, тогда можно написать маленькую функцию, по добавлению +1 к определенному навыку, например так:,
stats = [["сила",0],["здоровье", 1],["мудрость",0],["ловкость", 0]] def add_one(skill): for i in stats: if i[0]==skill: i[1] += 1 add_one('сила')
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +1 ещё
Как сделать форму с добавлением нескольких элементов на django?
- 1 подписчик
- 2 часа назад
- 20 просмотров
Переменные в Python

В данном уроке мы рассмотрим чрезвычайно важную концепцию языка Python: переменные. Они позволят нам запоминать, переиспользовать и передавать данные в программах. Поскольку переменные можно найти в любом современном языке программирования, поэтому вам уже могут быть знакомы основные концепции. Однако я настоятельно рекомендую прочитать статью даже тем, для кого Python является не первым языком, поскольку здесь будут разобраны особенности, которые не имеют аналогов в других языках.
Во первых стоит отметить что Python является языком с динамической типизацией. Это означает что любая переменная может содержать любые значение. Это отл
