Прежде чем я использовал C, теперь я хочу изучить Python.
У меня вопрос, у меня есть два класса, как я могу передать адрес переменной, когда я вызываю конструктор, потому что я хочу разделить очередь между этими двумя классами (каждый класс имеет поток). Или у него есть другие возможности для обмена очередью между двумя классами.
Python уже использует ссылочную (в отличие от значения) семантику:
a = [1, 2, 3]
b = a
a.append(4)
print b # => [1, 2, 3, 4]
Вам не нужно делать какую-либо дополнительную работу, чтобы получить то, что вы хотите.
Однако, если вы говорите о потоках, это еще одна история. Если говорить конкретно о multiprocessing
Queue
протоколе между потоками связи, которые могут копировать данные через. Лучшим вариантом может быть протокол обмена совместно используемой памятью Manager
, описанный в http://docs.python.org/library/multiprocessing.html#sharing-state-between-processes
z=(1+99999)
и assert z is (lambda x:x)(z)
. Я удалил неправильные заявления.
Все это объект. В Python не нужно беспокоиться о "указателях".
foo = []
def bar(val):
val.append(42)
def baz(val):
val.append('Hello, world!')
bar(foo)
print foo
baz(foo)
print foo
Не уверен, что это ваш вопрос, но не можете ли вы просто передать его как параметр конструктору?