Python Jour 33——Méthodes statiques, méthodes de classe, méthodes d'attributs

PHP中文网
Libérer: 2017-06-19 10:44:08
original
1096 Les gens l'ont consulté

Après la décoration @staticmethod, les méthodes de la classe sont converties en méthodes statiques

<span style="color: #008080">1</span> <span style="color: #0000ff">class</span><span style="color: #000000"> a:
</span><span style="color: #008080">2</span>     
<span style="color: #008080">3</span> <span style="color: #000000">     @staticmethod
</span><span style="color: #008080">4</span>      <span style="color: #0000ff">def</span><span style="color: #000000"> b(self):
</span><span style="color: #008080">5</span>         <span style="color: #0000ff">print</span>(<span style="color: #800000">''</span>)
Copier après la connexion

Les méthodes statiques ne peuvent pas accéder aux variables d'instance ou aux variables de classe, qui sont équivalentes aux boîtes à outils dans les classes. Tels que le système d'exploitation, le système et les autres modules importés sont généralement

Après la décoration @classmethod, les méthodes de la classe sont converties en méthodes de classe. La différence entre les méthodes de classe et les méthodes ordinaires est que les méthodes de classe ne peuvent accéder qu'aux variables de classe et ne peuvent pas accéder aux variables d'instance

<span style="color: #008080">1</span> <span style="color: #0000ff">class</span><span style="color: #000000"> b(object):
</span><span style="color: #008080">2</span>     name=<span style="color: #800000">'</span><span style="color: #800000">aa</span><span style="color: #800000">'</span>
<span style="color: #008080">3</span> <span style="color: #000000">    @classmethod
</span><span style="color: #008080">4</span>     <span style="color: #0000ff">def</span><span style="color: #000000"> cc(self):
</span><span style="color: #008080">5</span>         <span style="color: #0000ff">print</span>(<span style="color: #800000">'</span><span style="color: #800000">%s .l.....</span><span style="color: #800000">'</span>%<span style="color: #000000">name)
</span><span style="color: #008080">6</span> 
<span style="color: #008080">7</span> 
<span style="color: #008080">8</span> 
<span style="color: #008080">9</span> b.cc()
Copier après la connexion

Après avoir décoré avec @property, convertissez les méthodes de la classe en propriétés statiques

Comment utiliser les attributs statiques

<span style="color: #008080"> 1</span> <span style="color: #0000ff">class</span><span style="color: #000000"> Eat_food(object):
</span><span style="color: #008080"> 2</span>     self.<span style="color: #800080">__food</span>=None<span style="color: #008000">#</span><span style="color: #008000">设置一个私有属性</span>
<span style="color: #008080"> 3</span>     
<span style="color: #008080"> 4</span> <span style="color: #000000">    @property
</span><span style="color: #008080"> 5</span>     <span style="color: #0000ff">def</span><span style="color: #000000"> eat(self):
</span><span style="color: #008080"> 6</span>         <span style="color: #0000ff">print</span>(<span style="color: #800000">'</span><span style="color: #800000">.....%s</span><span style="color: #800000">'</span>%self.<span style="color: #800080">__food</span><span style="color: #000000">)
</span><span style="color: #008080"> 7</span>     
<span style="color: #008080"> 8</span>     @eat.setter  <span style="color: #008000">#</span><span style="color: #008000">再次装饰后可以对其赋值</span>
<span style="color: #008080"> 9</span>     <span style="color: #0000ff">def</span><span style="color: #000000"> eat(self,food):
</span><span style="color: #008080">10</span>         <span style="color: #0000ff">print</span>(<span style="color: #800000">'</span><span style="color: #800000">.....%s</span><span style="color: #800000">'</span>%<span style="color: #000000">food)
</span><span style="color: #008080">11</span>         self.<span style="color: #800080">__food</span>=food<span style="color: #008000">#</span><span style="color: #008000">保存到私有属性,备用</span>
<span style="color: #008080">12</span>     
<span style="color: #008080">13</span> <span style="color: #000000">    @eat.deleter
</span><span style="color: #008080">14</span>     <span style="color: #0000ff">def</span><span style="color: #000000"> eat(self):
</span><span style="color: #008080">15</span>         <span style="color: #0000ff">del</span> self.<span style="color: #800080">__food</span><span style="color: #008000">#</span><span style="color: #008000">删除保存赋值的私有属性,相当于删除这个属性方法</span>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal