On 1/24/2015 5:57 PM, Brian Gladman wrote:
I would appreciate advice on how to set up delgation in Python.

I am continuously implementing a function to test whether a Python
Fraction is an integer

Since Fractions are reduced to lowest terms,
>>> from fractions import Fraction as F
>>> F(4, 2)
Fraction(2, 1)
>>> F(12, 3)
Fraction(4, 1)

the test is that the denominator is 1

>>> F(12,3).denominator == 1
True
>>> F(12,5).denominator == 1
False

it may not be worth the bother to define a function,

def fint(F): return F.denominator == 1

so I wanted to define a new class, based on
Fraction, that includes this new method.

but if you do, there is little need to make it a method. You are not overriding an existing method or adding a new special method. The math module has float and int functions that have *not* been turned into methods. Ditto for cmath. I would just leave the function a function. Python is not Java.

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to