0
私のコード内の名前オブジェクトを参照する:ここそのクラス自体
import math
class Cal(object):
def __init__(self,precision):
self.precision=precision
def roundTo(self):
if(obj1):
return (round(math.pi,self.precision))
elif(obj2):
return (round(math.e,self.precision))
precision=int(raw_input("enter number:"))
obj1=Cal(precision)
answer1=obj1.roundTo()
print answer1
obj2=Cal(precision)
answer2=obj2.roundTo()
print answer2
を私の問題は、私が参照しているオブジェクトに応じて、オブジェクトの両方に二つの異なるものを返すために、同じ方法をしたいです。
def fun_name(self):
if(obj1):
#return
elif(obj2):
#return
私は簡単な方法は、2つの異なる機能を作成して、個々のオブジェクトにそれらのそれぞれを割り当てることです知っている: がこれを行う方法です。しかし、この機能を実現する方法はありますか?
だから、クラスのコードは、どのインスタンスが呼び出されているかによって異なりますか?それは非常に賢明ではないようです。 2つのサブクラスを作成してから、 'obj1 = PiCal(精度)'と 'obj2 = ECal(精度)'を作るのはなぜですか?あるいは、ベース番号( 'math.pi'と' math.e')をインスタンス化で提供される別の引数( 'obj1 =(math.pi、precision)'など)にします。 – jonrsharpe
私はこれを正確に望んでいました。「クラスのコードは、どのインスタンスに呼び出されているかによって異なりますが、そうであることは賢明ではありません。 –
ええ、彼らは同じインターフェイス(同じクラス)に属しています。その不必要な! –