# 面向对象,包含面向过程(三大特性:封装、继承、多态(python中没有,Java中有)
类:一个模型、一个图纸
对象:根据模型做出的的东西
示例:同对象
实例化:就是根据模型做具体东西的过程
实例方法:必须奥实例化之后才能使用的函数(self)
实例变量:必须要实例化之后才能使用的变量
类变量:在类里面直接定义的变量,是公共的
类方法:不需要实例化直接调用的方法
静态方法:只是写在类里面的一个方法
属性方法:看起来像变量的函数
构造函数:类在实例化的时候自动调用的发放
析构函数:实例被销毁的时候自动调用的方法
私有变量:只能在类里面调用,出了类就不行了
私有方法:只能在类里面调用,出了类就不行了
函数名前加__是私有化
继承:为了简化代码 ,继承的顺序 Xw.mro()算法 展示的顺序;私有方法、使用变量不会被继承
如果要重新在父类方法的基础上,supper调用父类super().XXX调用父类,然后把对应的的参数入参即可
抽象类:一个规范
类调用的函数与顺序无关
class Buycar():#定义类
def buyCar(self): #self:代表本类对象
print(‘买车‘)
def baoxian(self):
print(‘保险‘)
xw = Buycar() # 实例化 Buycar()类 xw实例/对象
xw.buyCar()
xw.baoxian()
构造函数:类在实例化的时候会自动执行构造函数
def __init__():
print(‘构造函数‘)
类的属性:属性就是变量,功能就是函数
class Person(object):
name = ‘xiaohei‘
age = 35
Person.name #取值
class Person(object):
country = ‘China‘ #类变量
@classmethod
def getClassname(cls): #类方法,可以通过cls调用
print(cls.housework())
@staticmethod #静态方法 ,调用不了类变量,定义在类里面的普通函数
def help():
print("这个类是创造机器人的")
def sayCountry(cls):
# 代表本身这个类
print(cls.country)
def __init__(self,uid,name):
self.id = uid
self.name = name
def cookies(self):
print(‘%s在做饭‘%self.name)
def housework(self):
print(‘id为%s的在洗碗‘%self.id)
@property #属性方法
def price(self):
return
def __init__(self):
print("构造函数")
def __del__(self):
print(‘析构函数‘) #实例被销毁的时候调用析构函数
del Person #从内存里面删除变量的
class MyRequest:
def __init__(self,url,method=‘get‘,data=None,headers=None,is_json=False):
method = method.lower()
self.url = url
self.data = data
self.headers = headers
self.is_json = is_json
if hasattr(self,method):
getattr(self,method)()
def get(self):
try:
req = requests.get(self.url,self.data,headers=self.headers).json()
except Exception as e:
self.response = {"error":"接口请求出错%s"%e}
else:
self.response = req
def post(self):
try:
if self.is_json:
req = requests.post(self.url, json=self.data, headers=self.headers).json()
else:
req = requests.post(self.url, self.data, headers=self.headers).json()
except Exception as e:
self.response = {"error":"接口请求出错%s"%e}
else:
self.response = req
原文:https://www.cnblogs.com/wannn/p/11915778.html