# -*- coding: UTF-8 -*-
"""
测试 类的静态方法,类方法
@staticmethod
@classmethod 总结:
1. self 指向类对象, cls 指向类,两个名字都可以随意取,一般取大家公认的这个两个
2. staticmethod 方法体可以调用 同类的 类.类属性、 类.静态方法、类.类方法
类外可以调用 类.静态方法
3. classmethod 方法体可以条用 同类的 cls.类属性、cls.静态方法、cls.类方法
当然也可以通过 类.类属性、 类.静态方法、类.类方法
类外可以调用 类.类方法
4. 类属性(company)调用范围为全部
类外 类.类属性
实例方法 self.类属性
静态方法 类.类属性
类方法 cls.类属性|类.类属性 """
class Washer:
company = "lilei"
def __init__(self,water=10,scour=2):
self._water = water
self.scour = scour
self.year = 2010 @staticmethod
def spins_ml2(spins):
print "ml2" @staticmethod
def spins_ml(spins):
print(Washer.company)
Washer.get_washer2(2)
Washer.spins_ml2(5) @classmethod
def get_washer2(cls,params):
# print "washter2"
pass @classmethod
def get_washer(cls,water,scour):
# print Washer.company
# print cls.company
# print cls.get_washer2(2)
pass print cls.company
cls().start_wash() #通过cls获得实例对象 调用实例方法 # print("comany:",Washer.company)
# print('year:',self.year)
# return cls(water,cls.spins_ml(scour)) def start_wash(self):
print "hello" def start_wash2(self):
"""实例方法中,调用类的静态、类方法"""
Washer.get_washer2(2)
self.get_washer2(2)
Washer.spins_ml2(5)
self.spins_ml2(5)
print self.company
print Washer.company if __name__ == '__main__':
# print(Washer.spins_ml(8))
#
# print(w.spins_ml(8))
# w = Washer(200,Washer.spins_ml(9))
# w.start_wash() # case 1 静态方法
print "-----1"
Washer.spins_ml(5) # case 2 类方法
print "-----2"
Washer.get_washer(100,9)
print Washer.company # case 3 实例方法
print "-----3"
w = Washer()
w.start_wash2() """
Out:
-----1
lilei
ml2
-----2
lilei
hello
lilei
-----3
ml2
ml2
lilei
lilei
"""

最新文章

  1. C#拾遗-边边角角
  2. JavaScript简介
  3. ue4 模块的构建和加载
  4. AndroidStudio
  5. Html 笔记1
  6. 由if-else,switch代替方案引起的思考
  7. NS3网络仿真(10): 解析以太网帧
  8. git的理论基础
  9. Android为TV端助力 Linux命令查看包名类名
  10. linux下sort命令详解
  11. php 微信自定义分享接口
  12. clouderamanager安装
  13. Vue学习之路8-v-on指令学习简单事件绑定之属性
  14. luke下载使用
  15. 关于数据库不适合docker的原因(摘抄)
  16. 移动端触摸(touch)事件
  17. java中对于二位数组的简单操作,进而可以递推复杂操作
  18. 微信小程序https发起请求失败的解决方法
  19. Scala辅助构造器和主构造器
  20. centos 安装python3.6

热门文章

  1. SRDC - ORA-22924 or ORA-1555 on LOB data: Checklist of Evidence to Supply (Doc ID 1682707.1)
  2. greenlet实现协程
  3. 将网站发布到阿里云的Linux服务器上(简述)
  4. java的加载与运行
  5. 初学JavaScript正则表达式(一)
  6. LG2375/LOJ2246 「NOI2014」动物园 KMP改造
  7. C++ string push_back()
  8. 历届试题 青蛙跳杯子-(bfs)
  9. vue-cli2.0和vue-cli3.0中当发布到生产环境时禁用console.log
  10. SQLi_Labs通关文档