Python类中的“静态字段”“动态字段”“静态方法”“动态方法”
2017-03-28 21:44
375 查看
首先,要知道Python类中两个概念:字段和方法
“字段”和“方法”都有“动态”和“静态”之分,即:
字段
- 静态字段
- 动态字段
方法
- 静态方法
- 动态方法
以下事例标明了:“静态字段”,“动态字段”以及“动态方法”是什么样子的,因为显而易见,就不用语言进行过多描述:
上述事例中,并没有展现“静态方法”,那么“静态方法”长什么样子?如何生成?
其实“静态方法”只需要执行两步操作,就可以转换成“静态方法”
1. 在方法前加上:@staticmethod
2. 把“动态方法”括号中的“self”去掉
如:
那么关于这四种类型,有什么特点?以下进行总结:
四种类型,均可以被“对象”进行调用,但不建议使用“对象”调用“静态方法”和“静态字段”,而建议使用“类”对其进行调用
“动态方法”和“动态字段”只能由“对象”进行调用,而无法使用“类”进行调用
“字段”和“方法”都有“动态”和“静态”之分,即:
字段
- 静态字段
- 动态字段
方法
- 静态方法
- 动态方法
以下事例标明了:“静态字段”,“动态字段”以及“动态方法”是什么样子的,因为显而易见,就不用语言进行过多描述:
#coding:utf-8 class Car: # 下面是静态字段 memo = u'车辆具有出厂合格证' def __init__(self, brand, model, speed, price, engine): # 下面是动态字段 self.Brand = brand self.Model = model self.Speed = speed self.Price = price self.__EngineType = engine # 下面是动态方法 def Turnleft(self): print self.Brand + u'开始向右转向。'
上述事例中,并没有展现“静态方法”,那么“静态方法”长什么样子?如何生成?
其实“静态方法”只需要执行两步操作,就可以转换成“静态方法”
1. 在方法前加上:@staticmethod
2. 把“动态方法”括号中的“self”去掉
如:
@staticmethod def Forward(): print u'开始向前进'
那么关于这四种类型,有什么特点?以下进行总结:
四种类型,均可以被“对象”进行调用,但不建议使用“对象”调用“静态方法”和“静态字段”,而建议使用“类”对其进行调用
“动态方法”和“动态字段”只能由“对象”进行调用,而无法使用“类”进行调用
相关文章推荐
- Python面向对象3:静态/动态字段、静态/动态方法、单例模式
- 静态页面HTML绑定动态数据.aspx,用document.write的方法!
- 动态ASP网站生成HTM、HTML静态网站方法
- 将动态aspx页面转换成为静态html页面的几种方法
- ASP.NET动态转静态页面的另一方法
- ASP.NET动态转静态页面的方法
- 动态网站首页的静态生成方法
- CS0120: 非静态的字段、方法或属性“System.Web.UI.Page.Request.get”要求对象引用的解决办法
- 将动态aspx页面转换成为静态html页面的几种方法
- 将动态aspx页面转换成为静态html页面的几种方法
- 禁用页面缓存的几种方法(静态和动态)
- SQL服务器内存有两种基本管理方法:动态分配和静态分配
- 通用动态生成静态HTML页方法
- 通用动态生成静态HTML页方法
- 非静态的字段、方法或属性,要求对象引用
- SQL服务器内存有两种基本管理方法:动态分配和静态分配
- 如果静态方法里面没有存取静态字段的话, 就没有并发的线程安全的问题...(这句话对吗?)
- 动态网站首页的静态生成方法
- 静态方法和动态方法的速度对比
- ASP.NET 动态转静态页面的两种方法总结