python第三十三天----静态方法、类方法、属性方法

PHP中文网
发布: 2017-06-19 10:44:08
原创
1369人浏览过

@staticmethod 装饰后,类中的方法转成静态方法

<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>)
登录后复制

静态方法不可以访问实例变量或类变量,相当于类中的工具包。如os,  system 等 import的模块一般

 

@classmethod装饰后,类中的方法转成类方法,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量

<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()
登录后复制

@property装饰后把,类中的方法方法转成静态属性

法语写作助手
法语写作助手

法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。

法语写作助手 31
查看详情 法语写作助手

立即学习Python免费学习笔记(深入)”;

静态属性的使用方法

<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>
登录后复制

 

以上就是python第三十三天----静态方法、类方法、属性方法的详细内容,更多请关注php中文网其它相关文章!

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号