【发布时间】:2017-10-17 06:53:06
【问题描述】:
使用 pycharm,我希望将方法重构为一个类。 (静态方法可以) 当前:
import math
class Solver(object):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def demo(b, a, c):
d = b ** 2 - 4 * a * c
if d >= 0:
disc = math.sqrt(d)
root1 = (- b + disc) / (2 * a)
root2 = (- b - disc) / (2 * a)
print(root1, root2)
return root1, root2
else:
raise Exception
s = Solver(2, 123, 0.025)
demo(s.b, s.a, s.c)
期望:
import math
class Solver(object):
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
def demo(self, a, b, c):
d = self.b ** 2 - 4 * self.a * self.c
if d >= 0:
disc = math.sqrt(d)
root1 = (- self.b + disc) / (2 * self.a)
root2 = (- self.b - disc) / (2 * self.a)
print(root1, root2)
return root1, root2
else:
raise Exception
Solver(2, 123, 0.025).demo()
我基本上试图获得相反的功能: “将函数/方法移动到顶层”
如此处所述: https://www.jetbrains.com/help/pycharm/2017.1/move-refactorings.html
我不介意选择没有初始化参数的课程。
【问题讨论】:
-
你为什么要上课?在这里好像没什么用。
-
你想在类或方法的调用上传递参数吗?
标签: python refactoring pycharm automated-refactoring