2013-04-16 4 views
0

Я прочитал сценарий, как этотВ python, что означает ++?

for ... : 
    for ...: 
     ++i 

, но что это значит ++? Is ++ Оператор - это python?

+4

Где вы прочитали этот сценарий? Я думаю, что это была шутка, или это был не Python – jamylak

+1

@jamylak: возможно, это была ошибка. – SingleNegationElimination

+0

очень странный сценарий. Я новый поклонник python, но почему python не предлагает удобный оператор, например count ++, по любой причине? –

ответ

10

В python это просто унарный плюс дважды. Он ничего не делает. Один может принудить bool к int, но второй абсолютно бесполезен.

+0

Это лучший ответ:) – jamylak

+0

+1 только для точки «bool-to-int», которая мне вообще не пришла в голову. – DSM

6
>>> +1 
1 
>>> ++1 
1 
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1 
1 
+5

Я думаю, что вы забыли '+' в последней строке. –

3

Вы можете использовать i+=1 вместо i++ для вашего цикла. В Python нет ++.

3

Python - это неявно типизированный язык, поэтому, если мы не знаем, какой тип имеет переменная, мы не можем точно сказать, что произойдет, если мы применим к нему оператор. В вашем примере, i не обязательно является целым числом, это может быть объект с перегруженным одноместный + (__pos__), например:

class Duplicator(object): 
    def __init__(self, s): 
     self.s = s 

    def __pos__(self): 
     self.s += self.s 
     return self 

    def __str__(self): 
     return self.s 

z = Duplicator("ha ") 
# 1000 lines of code 
print +z 
print ++z 
print +++z 

Таким образом, ответ на ваш вопрос «что же ++x означает в Python» является «это зависит от того, что x есть».

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