1 【简单工厂模式】
class CarStore(object):
def __init__(self):
self.selectCarFactory = SelectCarFactory()
def order(self,carName):
return self.selectCarFactory.selectCar(carName)
class SelectCarFactory(self,carName):
# switch carName == "" python 不支持 switch case
if carName == "mini":
return BMWCar()
elif carName == "xxx":
return AudiCar()
else:
return QQCar()
class Car(object):
def move(self):
pass
class BMWCar(Car):
def move(self):
print("跑的稳")
class QQCar(Car):
def move(self):
print("跑的慢")
class AudiCar(Car):
def move(self):
print("跑的慢")
2 【工厂方法模式】#多抽取了一层
class Store(object):
def selectCar(self,carName):
pass
def order(self,carName):
return self.selectCar(carName)
class CarStore(Store):
def selectCar(self,carName):
return SelectCarFactory().selectCar(carName)
class SelectCarFactory(self,carName):
# switch carName == "" python 不支持 switch case
if carName == "mini":
return BMWCar()
elif carName == "xxx":
return AudiCar()
else:
return QQCar()
class Car(object):
def move(self):
pass
class BMWCar(Car):
def move(self):
print("跑的稳")
class QQCar(Car):
def move(self):
print("跑的慢")
class AudiCar(Car):
def move(self):
print("跑的慢")
3【__new__方法】
__new__(cls): #类方法 类似于alloc
4【单例模式】
class shareInstance(object):
__instance = None
def __new__(cls):
if cls.__instance == None:
cls.__instance = object.__new__(cls)
return cls.__instance
else:
return cls.__instance
5【异常】
try:
xxx
xxx
except 异常的名字: #可以是自定义的异常,也可以是系统的异常。使用自定义的异常需要添加raise。
print("如果捕获到异常所要做的处理")
fanily#不论异常是否会触发。都最后执行该代码。
异常是可以嵌套的。
异常是可以传递的。
6【if 的真假判断】
但凡是为0,为空,都是假的。# 0 None,() [] {} 都是假
7【模块】
通俗的讲,就是一个.PY文件 test方法
调用 import msgnew / msgnew.test1
调用 form nsgnew import test1
/test1()
网友评论