Нет.
Вы не можете вызвать конструктор класса-члена вне списка инициализаторов.
PS: Даже если вы не вызываете его самостоятельно в списке инициализаторов, тогда компилятор сделает это неявным образом.
Если вы не можете вызвать его в списке инициализаторов, и вы не хотите использовать метод, подобный init, передумайте свой дизайн / подход.
Удаляя материал метода класса, который не имеет отношения к вопросу, если я сделаю это:
>>> numbin1 = 0b1000
>>> numbin2 = 0b1010
>>> xornumber = numbin1 ^ numbin2
Я получу
>>> xornumber
2
>>> bin(xornumber)
'0b10'
, который является правильным ответом. Что происходит, вы используете константы 1000
и 1010
, которые являются десятичными константами, и ожидаете, что Python интерпретирует их как двоичные только потому, что вы используете оператор ^
. Вот так:
>>> bin(1000)
'0b1111101000'
>>> bin(1010)
'0b1111110010'
>>> bin(1000 ^ 1010)
'0b11010'
и 0b11010
- это 26
.
Чтобы интерпретировать входную строку пользователя, состоящую из 1 и 0, как целое число, представленное в двоичном формате, обратитесь к к этому ответу .