2017-02-02 2 views
0

에 따라 나는이 있습니다설정 선택/필수 속성 조건

def required(props): 
    props.fget.required = True 
    return props 

class SomeClass(): 
    @required 
    @property 
    def func(self): 
     return self.conname("conname") 

을하지만 난이 원하는 : SomeClass의 self.name 속성 "값을"equale 때, 다음 속성 옵션, 때 아닌 동일 휴가 만들기 필수.

+0

에서 영감을하지만 문제가 있었다 인수 번호와 함께, 그 didnt는 이해한다. – igor

답변

0

당신과 같이 이니셜이 처리 할 수 ​​:

class SomeClass(object): # inherit from object if you are using python 2.7 
    def __init__(self, name, optional_required_property=None): 
     self.name = name 
     if name == "value" and optional_required_property is None: 
      raise AttributeError("optional_required_property cannot be None.") 
     else: 
      self.optional_required_property = optional_required_property 
test_someclass = SomeClass("test") # will work 
test_someclass = SomeClass("value") # will fail 

내가 클래스 property` (이 클래스를 장식하는)`에서 상속 만들려고 Stack Overflow Question: How to implement a required property in Python