@@ -823,6 +823,21 @@ <h3 id="multipleinheritance">Multiple Inheritance</h3>
823823< pre > < code class ="python language-python hljs "> < span class ="hljs-meta "> >>> </ span > C.mro()
824824[<< span class ="hljs-class "> < span class ="hljs-title "> class</ span > '< span class ="hljs-title "> C</ span > '>, << span class ="hljs-title "> class</ span > '< span class ="hljs-title "> A</ span > '>, << span class ="hljs-title "> class</ span > '< span class ="hljs-title "> B</ span > '>, << span class ="hljs-title "> class</ span > '< span class ="hljs-title "> object</ span > '>]
825825</ span > </ code > </ pre >
826+ < h3 id ="property "> Property</ h3 >
827+ < pre > < code class ="python language-python hljs "> < span class ="hljs-class "> < span class ="hljs-keyword "> class</ span > < span class ="hljs-title "> MyClass</ span > :</ span >
828+ < span class ="hljs-meta "> @property</ span >
829+ < span class ="hljs-function "> < span class ="hljs-keyword "> def</ span > < span class ="hljs-title "> a</ span > < span class ="hljs-params "> (self)</ span > :</ span >
830+ < span class ="hljs-keyword "> return</ span > self._a
831+
832+ < span class ="hljs-meta "> @a.setter</ span >
833+ < span class ="hljs-function "> < span class ="hljs-keyword "> def</ span > < span class ="hljs-title "> a</ span > < span class ="hljs-params "> (self, value)</ span > :</ span >
834+ self._a = value
835+ </ code > </ pre >
836+ < pre > < code class ="python language-python hljs "> < span class ="hljs-meta "> >>> </ span > el = MyClass()
837+ < span class ="hljs-meta "> >>> </ span > el.a = < span class ="hljs-number "> 123</ span >
838+ < span class ="hljs-meta "> >>> </ span > el.a
839+ < span class ="hljs-number "> 123</ span >
840+ </ code > </ pre >
826841< h3 id ="dataclass "> Dataclass</ h3 >
827842< p > < strong > Decorator that automatically generates init(), repr() and eq() special methods.</ strong > </ p >
828843< pre > < code class ="python language-python hljs "> < span class ="hljs-keyword "> from</ span > dataclasses < span class ="hljs-keyword "> import</ span > dataclass, field
@@ -867,10 +882,10 @@ <h3 id="hashable">Hashable</h3>
867882</ ul >
868883< pre > < code class ="python language-python hljs "> < span class ="hljs-class "> < span class ="hljs-keyword "> class</ span > < span class ="hljs-title "> MyHashable</ span > :</ span >
869884 < span class ="hljs-function "> < span class ="hljs-keyword "> def</ span > < span class ="hljs-title "> __init__</ span > < span class ="hljs-params "> (self, a)</ span > :</ span >
870- self.__a = copy.deepcopy(a)
885+ self._a = copy.deepcopy(a)
871886< span class ="hljs-meta "> @property</ span >
872887 < span class ="hljs-function "> < span class ="hljs-keyword "> def</ span > < span class ="hljs-title "> a</ span > < span class ="hljs-params "> (self)</ span > :</ span >
873- < span class ="hljs-keyword "> return</ span > self.__a
888+ < span class ="hljs-keyword "> return</ span > self._a
874889 < span class ="hljs-function "> < span class ="hljs-keyword "> def</ span > < span class ="hljs-title "> __eq__</ span > < span class ="hljs-params "> (self, other)</ span > :</ span >
875890 < span class ="hljs-keyword "> if</ span > isinstance(other, type(self)):
876891 < span class ="hljs-keyword "> return</ span > self.a == other.a
0 commit comments