При попытке записать новую строку в файл, Вы могли бы просто использовать BufferedWriter новая строка () метод.
, иногда может быть достаточно прямого подкласса от int. затем __ add __
и __ radd __
не требуют дополнительных затрат.
class IntContainer(int):
pass
i = IntContainer(3)
print i + 5 # 8
print 4 + i # 7
class StrContainer(str):
pass
s = StrContainer(3)
print s + '5' # 35
print '4' + s # 43
Эндрю справа. Он покрыт wix.chm.
Это неправильные размеры. Из соответствующей темы документации Wix :
Замена растровых изображений по умолчанию
Библиотека диалогов WixUI включает растровые изображения по умолчанию для фона диалоги приветствия и завершения и верхний баннер других диалогов. Вы можете заменить эти растровые изображения на свой собственный для брендинга продукта целей. Чтобы заменить растровые изображения по умолчанию, укажите значения переменных WiX с помощью имена файлов ваших растровых изображений, как и при замене лицензии по умолчанию
Вот еще одна ссылка, посвященная тем же операторам:
Между прочим, в Python есть операторы приведения типов:
Но они не выполнят то, что вам нужно в вашем примере (в основном потому, что методы не имеют аннотации типа для параметров, поэтому нет хорошего способа cast неявно). Итак, вы можете сделать это:
class IntContainer2(object): def __init__(self, x): self.x = x def __int__(self): return self.x ic = IntContainer2(3) print int(ic) + 6 print 6 + int(ic)
Но это не удастся:
print ic + 6 # error: no implicit coercion
Вы не получите операторов преобразования, как в C ++, потому что Python не имеет такой сильной системы статических типов. Единственные операторы автоматического преобразования - это те, которые обрабатывают числовые значения по умолчанию (int / float); они предопределены в языке и не могут быть изменены.
"Преобразование" типов обычно выполняется конструкторами / фабриками. Затем вы можете перегрузить стандартные методы, такие как __ add __
, чтобы они работали как другие классы.
Это то, что вам нужно?
In [1]: class IntContainer(object):
...: def __init__(self, val):
...: self.val = val
...: def __add__(self, val):
...: return self.val + val
...: def __radd__(self, val):
...: return self.val + val
...:
...:
In [2]: i = IntContainer(3)
In [3]: i + 5
Out[3]: 8
In [4]: