テスト モジュールを作成し、c++-Background を使用する必要があります。そうは言っても、Pythonにはポインタがないことは承知していますが、どうすれば次のことを達成できますか:
次のような疑似コードに見えるテストメソッドがあります。
def check(self,obj,prop,value):
if obj.prop <> value: #this does not work,
#getattr does not work either, (objects has no such method (interpreter output)
#I am working with objects from InCyte's python interface
#the supplied findProp method does not do either (i get
#None for objects I can access on the shell with obj.prop
#and yes I supply the method with a string 'prop'
if self._autoadjust:
print("Adjusting prop from x to y")
obj.prop = value #setattr does not work, see above
else:
print("Warning Value != expected value for obj")
別々の関数で多くの異なるオブジェクトをチェックしたいので、チェックメソッドをそのままにしておきたいです。
一般に、関数が渡されたオブジェクトに影響を与え、コピーを作成しないようにするにはどうすればよいですか?
myobj.size=5
resize(myobj,10)
print myobj.size #jython =python2.5 => print is not a function
実装が手の届かないところにあるため、メンバーメソッドのサイズを変更することはできません。また、どこmyobj
にでも入力したくありませんmyobj=resize(myobj, 10)
また、オブジェクトと属性名を渡す関数でこれらの属性にアクセスできるようにするにはどうすればよいですか?