2015-08-03 2 views
3

Хорошо, что я делаю неправильно?Оператор Python (+ =) и SyntaxError

x = 1 

print x += 1 

Ошибка:

print x += 1 
     ^
SyntaxError: invalid syntax 

Или же += не работает в Python 2.7 больше? Я бы поклялся, что использовал его в прошлом.

ответ

9

x += 1 является augmented assignment statement в Python.

Вы не можете использовать операторы внутри инструкции печати, поэтому вы получаете синтаксическую ошибку. Вы можете использовать только Expressions.

Вы можете сделать -

x = 1 
x += 1 
print x 
+0

Спасибо Anand. Я должен был это понять. :) На стороне записки, похоже, вы отвечаете на все мои вопросы. –

+0

Угадайте, я просто отвечу на много вопросов :). –

1

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

x = 1 
x += 1 
print(x) 
>>> 2 # with x == 2 

Если вы хотите напечатать й перед увеличением его:

x = 1 
print(x) 
x += 1 
>>> 1 # with x == 2 

Надежда, что помогает.

Смежные вопросы