Python как изменить переменную в вызове метода

Можно ли изменять переменные в операторах if, циклах и вызовах функций в Python, как в C и Java?

Бывший:

i=0
while((i+=1)<10): #invalid syntax
    print(i) 

Если нет, то почему?

Целые числа неизменяемы.

timgeb 24.10.2018 18:42

Эти два примера не совпадают. Я сомневаюсь, что первый разрешен в C и / или Java

DeepSpace 24.10.2018 18:44

И нет, Python не допускает выражений в качестве условий if, только операторов.

DeepSpace 24.10.2018 18:44

afaik int y=x+=6 отлично работает в c land

Joran Beasley 24.10.2018 18:47

@JoranBeasley, вероятно, это так, но OP спрашивает не об этом

DeepSpace 24.10.2018 18:48

@DeepSpace - первый пример разрешен в Java. Я пробовал его до публикации. Я знаю, что второй пример разрешен в C.

thedeg123 24.10.2018 18:50

@DeepSpace repl.it/@JoranBeasley/MassiveNavyblueSpreadsheet

Joran Beasley 24.10.2018 18:50

@JoranBeasley Тогда я поправлюсь :) Но ответ на настоящий вопрос по-прежнему "нет, ни то, ни другое не разрешено в Python"

DeepSpace 24.10.2018 18:51

этот [stackoverflow.com/a/15148557/1176331] может помочь вам понять, хотя вы, кажется, нашли правильный ответ

Savitoj Cheema 24.10.2018 19:04
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
9
462
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

пока тип данных изменяемый

def modified(data):
    data['a'] = 5

x = {'b':7}
modified(x)
print(x)


def increment_a(data):
    data['a'] += 1
    return data['a']

x = {'a':1}
while increment_a(x) < 10:
    print(x)

однако строки и целые числа неизменяемы

Я не уверен, что это то, о чем спрашивает OP.

DeepSpace 24.10.2018 18:45

Другие вопросы по теме