无法将对象变量作为默认值传递给对象方法 - Python

时间:2017-08-02 14:51:02

标签: python python-2.7 object

Win 10,x64,Python 2.7.8

我试图捏造以下内容(这是完整代码的精简版,但会复制问题)

class TrabGraph:

    def __init__(self):            
        self.radius = 1.0

    def circle(self, rad=self.radius):
        print rad

test = TrabGraph()
test.circle(rad=2.0)

我收到以下错误...

  

Traceback(最近一次调用最后一次):文件   " D:/Lattice/variableTest.FCMacro" ;,第6行,in       class TrabGraph:File" D:/Lattice/variableTest.FCMacro" ;,第12行,在TrabGraph中       def circle(self,rad = self.radius):: name' self'未定义

所以我试过......

class TrabGraph:

    def __init__(self):            
        self.radius = 1.0

    def circle(self, rad=radius):
        print rad

test = TrabGraph()
test.circle(rad=2.0)

并收到以下错误...

  

Traceback(最近一次调用最后一次):文件   " D:/Lattice/variableTest.FCMacro" ;,第6行,in       class TrabGraph:File" D:/Lattice/variableTest.FCMacro" ;,第12行,在TrabGraph中       def circle(self,rad = radius):: name' radius'未定义

那么我不了解对象是如何工作的呢?如何让rad的默认值与self.radius相同,但如果需要,我可以在调用circle方法时更改它?

1 个答案:

答案 0 :(得分:0)

试试这个

List<String> lines=new ArrayList<String>();
BufferedReader reader = new BufferedReader(new FileReader(file));
    String line;

    while ((line = reader.readLine()) != null) {
        lines.add(tmp);
    }