2014-12-14 4 views
0

목록 개체에서 변수를 가져 오는 방법은 무엇입니까? 예를 들어목록 개체에서 변수를 가져 오는 방법은 무엇입니까?

:

class Ball(object): 

    def __init__ (self, x, y): 
     self.x = x 
     self.y = y 

ball = Ball(x, y) 
list = [ball] 

은 이런 식으로 뭔가?

a = list[0] 
b = list[1] 

는 그래서 print(a, b)x, y를 인쇄 할 수 있습니까?

+0

'인쇄 :

이 같은 __init__ 메소드로부터 반환하려고 할 수 없습니다

class Ball(object): def __init__ (self, x, y): self.x = x self.y = y return self.x, self.y a, b = Ball('This is x value', 'This is y value') print a, b 

는 당신에게 같은 예외를 줄 것인가? – Ryan

+0

'list = [ball.x, ball.y]'는 어떨까요? – ErikR

+0

'print (list [0] .x, list [0] .y)' –

답변

3
class Ball(object): 

    def __init__ (self, x, y): 
     self.x = x 
     self.y = y 

    def display(self): 
     return self.x, self.y 


ball = Ball('This is x value', 'This is y value') 
a, b = ball.display() 
print a, b 
,

__init__은 항상 None을 반환해야하므로 x 및 y를 반환하는 새 메서드를 만들어야합니다. `(ball.y을 ball.x)

TypeError: __init__() should return None, not 'tuple' 
+0

@Matiss이 답변이 도움이되었다고 생각한다면 그것을 올리고 받아들이십시오. 또는 답을 변경해야 할 경우 의견에 친절하게 포함 시키십시오. –

+0

하지만'List'에'object'를 넣으면'List'에서 어떻게 부를 수 있을까요? –

+0

사실 우리는 목록에 개체를 삽입하지 않습니다. 방금 self.x와 self.y를 반환하는 새로운 메소드를 만들었습니다. 새로운 메소드를 만드는 목적은'__init__' 메소드가 항상'None'을 리턴하기 때문입니다. –

0
class Ball(object): 

    def __init__ (self, x, y): 
     self.x = x 
     self.y = y 

    # add method to get points as tuple (x, y)  
    def get_point(self): 
     return (self.x, self.y,) 



ball = Ball(x, y) 

이 (당신이 builtinlist을 무시하지 않습니다 이름 때문에 변경) 0 인덱스에서 단일 볼 개체 목록을 만듭니다 : 우리가 추가 한 방법을 사용하여

ball_list = [ball] 

이는 [x, y]을 만듭니다 및 tuple에서 list에 캐스트 :

ball_point = list(ball.get_point()) 
관련 문제