お世話になります。
書きのプログラムでincの値を増加させて最後に最終の値を得たいです。
python
1# func.py 2def inc(i): 3 i += 1 4 return i 5 6 7class B(object): 8 9 def __init__(self, i): 10 self.i = i 11 12 def read(self): 13 p = 0 14 try: 15 if p == 0: 16 inc(self.i) 17 else: 18 print("OK") 19 except AttributeError: 20 inc(self.i) 21 22 return self.i
次のプログラムがらBを読み出しています。
事情があり、プログラムを異なるpythonファイルに書いております。
python
1#sub.py 2 3import func 4 5class Sub(object): 6 count = 0 7 results = [] 8 l = [1, 2, 3, 4, 5] 9 pp = func.B(count) 10 for row in l: 11 #print(row) 12 pp.read() 13 14k = Sub() 15
sub.pyから動作させていますが、どうしても、def inc(i)にて、iか5になりません。1のままで、どこかで初期化されてしまいます。
何とか5になる術はないでしょうか?
ご指導程、よろしくお願いします。
敬具
コードによくわからない部分が多すぎて、どこから回答すればよいかわかりません。
とりあえずいくつか確認したいです。
- どこで5にしたいのですが?
....- `k = Sub()` のkが5になれば良い?
....- kはSubのインスタンスなので数値にはならないですが。。。
- readの中のifやexceptは無視して良い?
....- ifは必ずtrueになる、exceptに入ることはない
※とりあえずの1歩としては、関数呼び出しの返り値を取得すると良いかもです。
すみません。分かりづらくて申し訳ないです。
func.pyのdef inc(i)で、returen i が5になって欲しいのです。
わざと、if p == 0: として、def inc(i)に渡る様にしております。
else: exceptは無視して下さい。
貴重なお時間を取ってしまい、申し訳ないです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー