Guest User

Untitled

a guest
Jul 19th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. some_class.data_type.some_variable
  2.  
  3. class profiles_1d(object):
  4. def __init__(self, x, y1=None, y2=None, y3=None):
  5. self.x = x
  6. self.y1 = y1
  7. self.y2 = y2
  8. self.y3 = y3
  9.  
  10. class collection(object):
  11. def __init__(self):
  12. self._profiles_1d = None
  13.  
  14. def get_profiles(self):
  15. return self._profiles_1d
  16.  
  17. def set_profiles(self, x, *args, **kwargs):
  18. self._profiles_1d = profiles_1d(x, *args, **kwargs)
  19.  
  20. def del_profiles(self):
  21. self._profiles_1d = None
  22.  
  23. profiles1d = property(fget=get_profiles, fset=set_profiles, fdel=del_profiles,
  24. doc="One dimensional profiles")
  25.  
  26. collection.profiles1d = ...
  27.  
  28. class Collection(object):
  29. def __init__(self):
  30. self._profiles_1d = None
  31.  
  32. @property
  33. def profiles(self):
  34. """One dimensional profiles"""
  35. return self._profiles_1d
  36.  
  37. @profiles.setter
  38. def profiles(self, argtuple):
  39. args, kwargs = argtuple
  40. self._profiles_1d = profiles_1d(*args, **kwargs)
  41.  
  42. @profiles.deleter
  43. def profiles(self):
  44. self._profiles_1d = None
  45.  
  46. collection = Collection()
  47. collection.profiles = (arg1, arg2, arg3), {'kwarg1':val1, 'kwarg2':val2}
  48.  
  49. @property
  50. def test(self):
  51. return self._test
  52.  
  53. @test.setter
  54. def test(self, newvalue):
  55. # validate newvalue if necessary
  56. self._test = newvalue
  57.  
  58. @test.deleter
  59. def test(self):
  60. del self._test
  61.  
  62. class Collection(object): # notice the capital C in Collection
  63. def __init__(self):
  64. self._profiles_1d = None
  65.  
  66. @property
  67. def profiles1d(self):
  68. "One dimensional profiles"
  69. return self._profiles_1d
  70.  
  71. @profiles1d.setter
  72. def profiles1d(self, value):
  73. self._profiles_1d = profiles_1d(*value)
  74.  
  75. @profiles1d.deleter
  76. def profiles1d(self):
  77. del self._profiles_1d
  78.  
  79. collection = Collection()
  80. collection.profiles1d = x, y1, y2, y3
  81.  
  82. collection.profiles1d = (x, dict(y1=y1, y2=y2, y3=y3))
  83.  
  84. @profiles1d.setter
  85. def profiles1d(self, value):
  86. x, y = value
  87. self._profiles_1d = profiles_1d(x, **y)
Add Comment
Please, Sign In to add comment