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


本文摘自php中文网,作者PHP中文网,侵删。

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

1

2

3

4

5

<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装饰后,类中的方法转成类方法,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量

1

2

3

4

5

6

7

8

9

<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装饰后把,类中的方法方法转成静态属性

静态属性的使用方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<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第三十三天----静态方法、类方法、属性方法的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python中numpy是什么

Python函数之divmod数字处理函数

马哥教育Python基础语法全讲解视频资料分享

Python中列表中的pop方法与remove方法有什么区别

Python中filecmp的简单使用

pandas妙招之 dataframe基础运算以及空值填充

Python中下划线怎么打

Python可迭代对象怎么理解

pip 只能安装Python库吗

Python opencv检测并提取目标颜色

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...