【发布时间】:2018-10-24 19:17:29
【问题描述】:
我创建了一个使用混合数字进行数学运算的类。
它需要两个字符串(f1 和 f2),例如 '1+1/4' 和 '3+1/5',可以加减乘除。
我想知道是否可以使用 __init__ 缩短代码
我可以将 f1 和 f2 传递给__init__ 并减少重复吗?!
目前我必须将以下代码放入每个采用 f1 和 f2 的方法中
coef1 = int(f1.split('+')[0])
coef2 = int(f2.split('+')[0])
num1 = int(f1.split('+')[1].split('/')[0])
num2 = int(f2.split('+')[1].split('/')[0])
de1 = int(f1.split('+')[1].split('/')[1])
de2 = int(f2.split('+')[1].split('/')[1])
每个方法都需要这些变量中的每一个来进行数学运算
【问题讨论】:
-
当您尝试将它们放入 init 时,发生了什么?
-
这里没有任何东西看起来像一个类。请显示更多代码。一个快速的建议是您可以从 split() 函数执行多个分配。它会阻止您对相同的数据执行 3 次相同的操作。例如
coef1,frac1=f1.split('+'); num1,de1=frac1.split('/')