I가 다음 코드는 info
매개 변수는 아무것도 (STR, INT, 목록 등)가 될 수 있습니다클래스 객체가 변수 이름을 가지고이를 나타낼 수있는 방법이 있습니까?
class MyClass():
def __init__(self, info):
self.info = info
object_1 = MyClass("Whatever 1")
object_2 = MyClass("Whatever 2")
object_3 = MyClass("Whatever 3")
my_list = [object_1, object_2, object_3]
print(my_list)
당신이 그것을 실행하면 다음과 같은 결과를 얻을 것이다 :
[<MyClass object at 0x7f**********>, <MyClass object at 0x7f**********>, <MyClass object at 0x7f**********>]
을
하지만이 인쇄 print(my_list)
싶습니다 다음또 다른 매개 변수를 추가하지 않고,
[object_1, object_2, object_3]
그렇게 할 수있는 방법이 있나요을함수 정의 (예 : def __init__(self, info, representation):
) 그 값을 반환하는 __repr__
을 정의하십시오 (예 : return representation
)?
변수 이름이 표현으로 표시되기를 원하십니까? 동일한 객체가 두 개의 다른 변수에 의해 참조되는 경우 어떻게 될까요? – schwobaseggl
그냥 "__init__' 함수 정의에"다른 매개 변수 "를 사용하십시오. 명확하고 사용하기 쉽고 유지 관리가 쉽습니다. 변수 이름을 실제 파이썬 객체에 연결하는 모든 솔루션은 깨지기 쉬울뿐만 아니라 사용하기가 쉽지 않습니다. – MSeifert
@MSeifert 그래서 내가 "그렇게 할 수 있을지"묻는 것입니다. 물론 처음에는 __init__에 다른 매개 변수를 추가 할 수 있었지만 내가 요구 한 일을 수행하는 것이 가능하다는 것을 알고 싶었습니다. –