-1
파이썬에서 권장되는 방법인지 확실하지 않습니다. 나는 그러나 그렇게목록에서 파이썬 속성을 설정하지만 목록 외부에서 호출하십시오.
class MyClass:
def __init__(self):
self.attr1 = "first_value"
self.attr2 = "second_value"
...
같은 속성의 무리와 함께 클래스가,이 지루한, 난 루프에서이 작업을 수행 할 수 있도록하려면 :
self.attr_list = ["attr1", "attr2", "another_attr",...]
def __init__(self, values_list):
self.attr_values = [some_func(i) for i in values_list]
하지만 나중에 원하는 과 같이 이러한 값을 호출
foo = MyClass(values_list)
...
bar = foo.attr1
myFunc(foo.another_attr, ..., some_other_parameters)
그래서 질문, 나는 각 속성에 대한 행이 하드 코드입니다 지루한 첫 번째 방법을 피하지만, 여전히 않고도 속성 참조의 편의를 얻는 방법 알고/r 그것이 목록에있는 곳을 emember?
희망 사항입니다.
감사
P.S. 나는 파이썬 3을 사용하고있다
사전을 사용하면 기존 속성을 덮어 쓰지 않으시겠습니까? –
감사합니다. 저는'setattr'과 사전을 모두 시험해 볼 수있었습니다. 현재이 값을'__init__'에 한 번만 설정하고 있으므로 덮어 쓰지 않을 것입니다. –
@SamuelTan 내가 의미 한 것은 사전 속성, 즉'__init__'에'foo.my_dict = {}'를 유지하고 그 사전에 할당한다는 것입니다. 이렇게하면 실수로 덮어 쓰는 것을 방지 할 수 있습니다. – freakish