回顾之前学习的python,存在两种编程思维 一种是面向过程 一种是面向对象
1.函数编程:数据和逻辑分离
a= 123
b = 456
c = 789
def exc3(proc_name):
callproc(xxx)
return xxx
def exc4(proc_name):
callproc(xxx)
r eturn xxx
2.面向对象编程:将数据和逻辑(属性和行为)组合在一起,共有的属性
class SqlHelper:
def __init__(self):
self.host = ''
self.port =''
self.db =''
self.charset=''
def exc1(self,SQL):
# 连接
conn(self.host,)
execute("inser")
return xx
def exc2(self,proc_name):
callproc(xxx)
return xxx
1. 提取共性
2. 分类
3. 模板“约束”
4. 当一类函数公用同样参数时候,可以转变成类进行 - 分类
3.
面向对象: 数据和逻辑(属性和行为)组合在一起
函数编程:数据和逻辑分离
放在数据库中 就是类= 表, 对象 =行
对于特殊的列子
class person :
def __init__(self, name, id, gender):
self.name = name
self.id = id
self.gender = gender
def __call__(self, *args, **kwargs):
pass
def show(self):
print(self.name, self.id, self.gender)
def __getitem__(self, item):
pass
def __setitem__(self, key, value):
pass
def __delitem__(self, key):
pass
if __name__ == '__main__':
a = person("李白", 1, "男")
print(a()) #调用__call__
print("==========================")
print(a.__dict__) #调用__dict__属性展露
print("==========================")
print(a['kk']) # __getitem__
a['kk'] = 123 # __setitem__
a.show()
print("==========================")
del a['kk'] # __delitem__
a.show