标签:
#创建类,类名为mail class mail: #【方法】 def email(self,mail,neirong): print("收件人: ",mail,"\n内容: ",neirong) return True #如果不定义返回值,默认为None #【调用】 obj = mail() #创建对象,对象名obj obj.email(‘Admin‘,‘你好,请查收附件表格。‘) #通过对象执行方法 注:当执行obj = mail()时,类对象指针将obj指向了类mail。
概念:面向对象是一种编程方式,需要类和对象来实现。
类就是一个模板,模板里包含多个函数,函数里实现一些功能。
对象是根据类创建的一个实例,通过实例对象可以执行类中的函数。
面向对象也是对函数或事物进行分类和封装。
面向对象三大特性:
封装,继承,多态
1.函数式编程和面向对象编程对比
函数式编程
def add(host,username,passwd): print(host,username,passwd,"add") def remove(host,username,passwd): print(host,username,passwd,"remove") def modify(host,username,passwd): print(host,username,passwd,"modify") def select(host,username,passwd): print(host,username,passwd,"select") #执行函数 add(‘host.com‘,‘admin‘,‘123‘) remove(‘host.com‘,‘admin‘,‘123‘) modify(‘host.com‘,‘admin‘,‘123‘) select(‘host.com‘,‘admin‘,‘123‘)
面向对象编程
class SQLHelper: def fetch(self, sql): print(obj1.hhost) print(obj1.uuserane) print(obj1.pwd) def create(self, sql): pass def remove(self, nid): pass def modify(self, name): pass obj1 = SQLHelper() #以下定义的值被封装到对象obj1中,在类中可以直接调用。 obj1.hhost = "c1.salt.com" obj1.uuserane = "alex" obj1.pwd = "123" obj1.fetch("select * from A") 2.什么情况下适合使用面向对象? 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可。
self是一个python会自动给传值的参数。 哪个对象执行方法,self就是谁。 obj1.fetch(.....) self = obj1
标签:
原文地址:http://www.cnblogs.com/Z-style/p/5599127.html