面向函数的编程和面向对象编程对比
vim day7-2.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
def Bar():
print 'Bar'
def Hello(name):
print 'I am %s' %name
class Foo:
def Bar(self):
print 'Bar'
def Hello(self,name):
print 'I am %s' %name
Bar()
Hello('liuyueming')
obj = Foo()
obj.Bar()
obj.Hello('liuyueming')

通过函数和对象的方法实现同样的功能,看起来是面向函数的编程比较简单
假如是连接数据库的增,删,改,查操作使用面向对象的方法代码更加简单
vim day7-3.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
def fetch():
#连接数据库,hostname,port,username,password,db,timeout...
#打开
#操作
#关闭
def modify():
#连接数据库,hostname,port,username,password,db,timeout...
#打开
#操作
#关闭
def remove():
#连接数据库,hostname,port,username,password,db,timeout...
#打开
#操作
#关闭
def create():
#连接数据库,hostname,port,username,password,db,timeout...
#打开
#操作
#关闭
###方式二
class Foo:
def __init__(self,hostnama,port,username,password,db,[11,22,33]):
self.hostname = hostname
self.port = port
#...
def fetch(self):
pass
def modify(self):
pass
def create(self):
pass
def removeself):
pass
obj = Foo(hostnama,port,username,password,db,[11,22,33])
obj.fetch(hostnama,port,username,password,db,[11,22,33])
可以obj1 obj2等进行类的实例化,把不同的主机或端口封装在不同的类里面
把变量值封装到对象里面,使用的时候使用self调用
PS:以上功能可以使用装饰器实现