Форум сайта python.su
Привет!
Вот собственно проблема:
есть некие экземпляры A и B
есть ф-я bind:
>>> id(A) is id(B)
>>> False
>>> bind(A, B)
>>> id(A) is id(B)
>>> True
Офлайн
Не совсем понятно, что вам нужно. Ибо:
>>> id(a) is id(a)
False
Офлайн
пардон, id нужно отбросить, загнался
просто A is B
Офлайн
>>> class z:
x = 0
>>> A, B = z(), z()
>>> A is B
False
>>> A = B
>>> A is B
True
Офлайн
Вот теперь вообще неясно в чем проблема. А чем вам присвоение не угодило? Нравится вам лишние функции городить?
Офлайн
долго объяснять, в си всё просто - передал ссылку и п…ц
ну не могу я написАть просто =
мне нужно передавать ф-ю и экземпляры
Офлайн
Ты просто объект передавай, передастся ссылка.
callretжжошь
долго объяснять
Отредактировано (Март 23, 2010 14:44:23)
Офлайн
Вобщем, как я понимаю, в питоне параметры передаются по значению (во всяком случае опыты говорят об этом). Поэтому предполагаю такой путь:
def bind(a,b):
return a,a
a,b = bind(a,b)
Офлайн
спасибо, но эт совсем не то
мне нужно чтоб ф-я изменяла экземпляры, которые ей передаются
>>> def bind(a, b):
a = b
return a is b
>>> bind(A, B)
True
>>> A is B
False
>>> bind(A, B)
>>> A is B
True
Отредактировано (Март 23, 2010 15:10:42)
Офлайн
если я не ошибаюсь в си такая ф-я выглядела бы так:
void bind(&a, &b)
{
a = b;
}
Офлайн