首页 > 代码库 > Python面向对象三大特性之封装
Python面向对象三大特性之封装
面向函数的编程和面向对象编程对比
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:以上功能可以使用装饰器实现
Python面向对象三大特性之封装
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。