Нашел другое решение, используя модуль bitstring .
import bitstring
f1 = bitstring.BitArray(float=1.0, length=32)
print f1.read('bin')
Выход:
00111111100000000000000000000000
Три вещи:
Это будет выглядеть следующим образом:
class Person(object):
AnotherName = 'Sue Ann'
def __init__(self):
super(Person, self).__init__()
self.FirstName = 'Tom'
self.LastName = 'Sneed'
def get_name(self):
return self.FirstName + ' ' + self.LastName
class Employee(Person):
def __init__(self):
super(Employee, self).__init__()
self.empnum = 'abc123'
def get_emp(self):
print self.AnotherName
return self.FirstName + ' ' + 'abc'
Рекомендуется использовать super, поскольку он также будет корректно обрабатывать вызовы конструкторов только один раз в множественных случаях наследования (при условии, что каждый класс в графе наследования также использует супер). Это также на одно место меньше, чем нужно менять код, если / когда вы меняете то, от чего унаследован класс (например, вы выделяете базовый класс и изменяете деривацию, и вам не нужно беспокоиться о том, что ваши классы вызывают неправильного родителя). конструкторы). Также на фронте MI вам нужен только один супер-вызов для правильного вызова всех конструкторов базового класса.
Сотрудник должен явно вызвать родительский __init__ (не init):
class Employee(Person):
def __init__(self):
Person.__init__(self)
self.empnum = 'abc123'
Вы должны явно вызвать функцию инициализации суперкласса:
class Employee(Person):
def __init__(self):
Person.__init__(self)
self.empnum = "abc123"