2016-06-17 4 views
0

В чем разница между «=» и «+ =» на python? (Без речевых меток) Я экспериментировал, и я не нашел разницы ... Я не владею питоном, однако - я нахожусь в «Днем в супермаркете» на Codeacademy. Спасибо за все ваши ответы!Разница между «=» и «+ =» на python?

+0

'+ =' - короткая нота для добавления значения к переменной. Давайте скажем, если 'x = 1', то' x + = 1' добавит 1 к x, поэтому при печати x он должен сказать '2' –

+0

Если вы всегда начинаете с пустого/нулевого значения, тогда эффективно нет но я предполагаю, что если вы начнете с чего-нибудь еще, вы увидите разницу. –

+0

'x + = 5' то же самое, что и' x = x + 5' – user1238367

ответ

4

В python фраза x=4 присвоит значение 4 значение x. Однако фраза x+=4 будет увеличивать 4 до текущего значения x. Например:

x = 3 
print x #will print 3 
x += 2 
print x #will print 5 
+0

Thanks; теперь это имеет гораздо больше смысла! – ibie808

0

foo = bar множеств foo к тому же значению, как bar - если foo 5 и bar 3, foo теперь 3.

foo += bar это сокращение для foo = foo + bar. Так что, если foo 5, и bar 3, Foo теперь 8

Это делает используется фактически все, что + означает в контексте, так что если foo является «String» и bar является «бар», foo += bar делает foo == "A Stringbar"

4

Как и многие другие языки, += является «ярлыком».

x = y 

Назначает ссылку на объект с правой стороны на имя слева.

x += y 

Концептуально добавляет объект или правую сторону к объекту, указанному слева. Концептуально же, как:

x = x + y 

Я говорю «концептуально», потому что оператор += может делать разные вещи в зависимости от класса объекта слева. Например, с целым числом он просто добавляет, а строка (str) добавляется к строке, а с list добавляет новый элемент в правую часть списка.

Класс может реализовать специальную функцию __iadd__(), которая будет выполнять требуемую операцию. += является членом дополненных заданий см http://legacy.python.org/dev/peps/pep-0203/

0

= используется для присвоения значения переменного. например: c = 1 + c (который присваивает значение c + 1-c, поэтому он увеличивает c на 1)

+ = используется для увеличения переменной на определенное значение. например .: с + = 1 (который

0

x = 4 инициирует переменную x равным 4

x += 4 на самом деле x = x + 4.Если вы попытаетесь сделать x += 4 без инициализации х вы получите ошибку имени

y = 5 # 5 
y += 2 # 7 

x += 4 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'x' is not defined 
0

x = 2 присваивает значение 2 к переменным x. x += 2 - то же, что и x = x + 2. Другими словами, += добавляет значение к уже существующему значению. Пример:

>>> x += 2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'y' is not defined 

Это потому, что x никогда не были назначены значения. Для того, чтобы понять, что происходит, посмотрите на следующий код:

>>> x = 2 
>>> print(x) 
2 
>>> x += 2 
>>> print(x) 
4 
0

Quick Notes:

a=b: присвоить значение b переменной a

a+=b: сумма b к текущему значению a

a+=b краткое обозначение a = a + b

Вы можете сделать a-=b, он будет воспроизводит a = a - b

вы можете либо *=, /= и %=


Пример:

i = 2 

i += 3 
print i 
# output = 5 (2+3) 

i -= 3 
print i 
# output = 2 (5-3) 

i *= 3 
print i 
# output = 6 (2*3) 

i /= 3 
print i 
# output = 2 (6/3) 

i %= 3 
print i 
# output = 2 (modulo of 2/3 = 2) 
Смежные вопросы