Найти - Пользователи
Полная версия: Перегрузка "=" в python 2.7
Начало » Флейм » Перегрузка "=" в python 2.7
1 2 3 4
x0a
cutwater
Так вот то что вы просите мягко говоря трудно реализуемо, а по сути на выходе вы таки получите другой язык.

я знаю что это будет другой язык, потому я и говорю что в вашу религию я не лезу
cutwater
Так пишите на С++. С++ позволяет перегружать оператор =.
Фокус в том что в С++ инициализация объекта через = и присваивание объекту значения - разные понятия.

В конце концов используйте операторы например <<
Их то можно перегружать.
FishHook
x0a
Добрый день,Насколько мне известно перегрузка “=” в питоне невозможна,если не считать метод __setitem__, но вариант obj = 2 мне неподходит,требуется obj = 2Нужен патч для питона реализующий перегрузку “=”,Пожалуйста помогите написать такой патч за денежное вознаграждение.


#!/usr/bin/env python
# -*- coding: utf-8 -*-
import collections
class Point(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __get__(self, obj, objtype):
        return (self.x, self.y)
    def __set__(self, obj, val):
        if isinstance(val, collections.Iterable) and len(val)==2:
           self.x = val[0]
           self.y = val[1]
class MyClass(object):
    p = Point(10, 20)
m = MyClass()
print m.p
m.p=(2,4)
print m.p

Так пойдет?
x0a
cutwater
Так пишите на С++. С++ позволяет перегружать оператор =.
проект на для с++, в данном случае скорость разработки важнее скорости выполнения

cutwater
Фокус в том что в С++ инициализация объекта через = и присваивание объекту значения - разные понятия.
и то и другое есть событие которое можно перехватить, чтото с ним сделать или остановить,
так что понятия может и разные, но мне это не важно.

объясните, вы переживаете из-за питона? не надо, как вы сказали, это будет другой язык.
или переживаете из-за моего кошелька? спасибо конечно, но не стоит вам об этом беспокоиться
FishHook
cutwater
FishHook, ты проверял? Это будет работать если x и y являются членами класса а не объекта
Откуда я знаю, зачем ему нужна перегрузка “=”, может быть в его задачах достаточно атрибутов класса.
cutwater
Нет, я серьезно спрашиваю, готовы ли Вы нанять комманду разработчиков, которые за минимальные сроки и несколько десятков тысяч долларов на базе питона состряпают вам новый язык. При этом я называл 2 месяца как очень оптимистичные сроки.
FishHook
Свойства тоже не нравятся?
cutwater
FishHook, сорри, я бегло просмотрел твой код и не увидел MyClass
x0a
FishHook
Так пойдет?

к сожалению нет, я приводил примерно такойже пример в первом сообщение,
надо именно m = ( 2, 4) без . или [ после m
ZZZ

И всё-таки я предлагаю не страдать фигнёй и изучить питон.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB