2014-04-12 3 views
2

나는이 클래스가 :이 클래스를 실행하는 올바른 방법은 무엇입니까?

class MyClass: 
    def __init__(self, my_list): 
     for item in my_list: 
      print(item) 

어떻게하면 my_list을 필요로하기 때문에 MyClass()를 실행하는 변수를 설정할 수 있습니까?

나는 MyClass = MyClass() 시도했지만이 오류 얻을 :

TypeError: __init__() takes exactly 2 arguments (1 given) 

올바른 방법은 무엇입니까?

답변

3

첫 번째 인수로 반복 가능을 전달해야합니다. 목록 : 예 :

instance = MyClass(['a', 'b', 'c']) 

하지만 반복 할 수있는 것은 무엇이든 할 수 있습니다. 튜플, 문자열, 사전, 파일 객체가 모두 가능합니다.

결과를 MyClass에 다시 할당하지 마십시오. 그 이름을 원래 클래스에서 새로 만든 인스턴스 인 MyClass으로 리 바인드합니다.

+0

이 : 'MyClass에 ("문자열")를'내가 할'형식 오류 :'모듈 '개체가 callable'되지 않습니다. 잘못 됐나? –

+0

@ zachgates : 가능합니다. 루프는 문자열의 각 문자를 별도로 인쇄합니다. –

+0

@zachgates : 수입이 있고 클래스가 섞여 있습니다. –

2

음 ... 그냥 반복문을 my_list 인수로 제출 하시겠습니까?

데모 :이 같은 문자열로 클래스를 전달하면

>>> example = MyClass([1, 2, 3]) 
1 
2 
3 
관련 문제