Форум сайта python.su
ходит шутка, что в разных языках выражение “i = ++i + ++i” будет равняться разным значениям(и это действительно так), можно ли это выражение записать в питоне?
Офлайн
В си в зависимости от компилятора может меняться результат.
Офлайн
В Питоне, как такового, инкремента нет. Я лично делаю так:
>>>var = 0
>>>var += 1
>>>var
1
Отредактировано (Фев. 9, 2011 16:29:17)
Офлайн
в том то и дело, просто чето загорелся с си сравнить)))
тут бы с глобальными переменными, ченить тип этого:
def increment(i)
i += 1
return i
i = increment(i) + increment(i)
Офлайн
Конечно, этот код и не будет работать. Читайте тут.
Офлайн
class inc:
def __init__(s,p):
s.p = p
def __pos__(s):
s.p += 1
return s.p
def __add__(s,p):
s.p += 1
return s.p - 1
def __repr__(s):
return '%s' % s.p
i = inc(2)
q = ++i
q == 3; i == 3
q = i + 1
q == 3; i == 4
Отредактировано (Фев. 10, 2011 10:14:20)
Офлайн