class Child(SomeBaseClass):
def __init__(self):
SomeBaseClass.__init__(self)
Это довольно легко понять.
class Child(SomeBaseClass):
def __init__(self):
super(Child, self).__init__()
Хорошо, что происходит сейчас, если вы используете super(Child,self)
?
Когда создается экземпляр Child, его MRO (порядок разрешения метода) находится в порядке (Child, SomeBaseClass, object) на основе наследования. (предположим, что у SomeBaseClass нет других родителей, кроме объекта по умолчанию).
Передавая Child, self
, super
выполняет поиск в MRO экземпляра self
и возвращает прокси-объект next of Child , в этом случае это SomeBaseClass, этот объект затем вызывает метод __init__
для SomeBaseClass. Другими словами, если это super(SomeBaseClass,self)
, то прокси-объект, который возвращает super
, будет object
. Для множественного наследования MRO может содержать много классов, поэтому в основном super
позволяет вам решить, где вы хотите начать поиск в MRO.
Вот хороший пример использования WCF для передачи двух процессов:
http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication
Используйте WCF с привязкой netnamedpipe, как рекомендует @ I4V. Другими альтернативами являются использование труб, удалений или файлов.
Другим вариантом является привязка ZeroMQ C #:
Одним из вариантов будет использование WCF named pipes (net.pipe), другой вариант будет Анонимные каналы для локальной межпроцессной связи
Выдержка:
Анонимные каналы предлагают меньше функциональности, чем именованные каналы, но также требуют меньших накладных расходов. Вы можете использовать анонимные каналы, чтобы упростить межпроцессное общение на локальном компьютере. Вы не можете использовать анонимные каналы для связи по сети.