标签:
#创建类,类名为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