class vettore: def __init__(A,x,y,z): A.x=float(x); A.y=float(y) A.z=float(z) def __add__(A,B): return vettore(A.x+B.x, A.y+B.y,A.z+B.z) def __mul__(A,t): return vettore(A.x*t, A.y*t,A.z*t) def __rmul__(A,t): return A*t def coeff(A): return [A.x,A.y,A.z] --------------------------------------- a=vettore(2,3,5); b=vettore(1,7,2) c=a+b print c.coeff() # [3.0, 10.0, 7.0] c=a.__add__(b) print c.coeff() # [3.0, 10.0, 7.0] --------------------------------------- a=vettore(2,3,5) b=a*4 print b.coeff() # [8.0, 12.0, 20.0] --------------------------------------- a=vettore(2,3,5); b=vettore(1,7,2) c=vettore(0,1,8); d=vettore(4,0,-1) e=3*(a+b)+c+d print e.coeff() # [13.0, 31.0, 28.0] --------------------------------------- class punto: def __add__(A,B): return punto(A.x+B.x,A.y+B.y) def add (A,B): return 7 punto.__add__=add def init (A,x,y): A.x=x; A.y=y punto.__init__=init u=punto(3,5); print u+u # 7 u.f=math.cos print u.f(0.8) # 0.696706709347 --------------------------------------- class cerchio: def perimetro (A): return 2*A.r*math.pi c=cerchio() c.r=4 print c.perimetro() # 25.1327412287 --------------------------------------- class unaclasse: print 7 # 7 --------------------------------------- class cerchio: r=1 def perimetro (A): return 2*A.r*math.pi c=cerchio() print c.perimetro() # 6.28318530718