言而简之,面向对象编程就是把函数编程外面包装一个class类,然后再把这个class类指向一个对象
而class类中的函数在这里称为方法
举个例子:
用函数式编程写出一键发送邮件的脚本:
def e_mail(email,message): print(‘邮件发送中...‘) return True e_mail(‘[email protected]‘,‘邮件内容‘)
用面向对象编程写出一键发送邮件的脚本:
class Foo: #e_mail称为方法 def e_mail(self,email, message): print(‘邮件发送中...‘) return True #创建一个对象;对象名 = 类名() obj = Foo() #通过对象去执行这个方法 obj.e_mail(‘[email protected]‘,‘邮件内容‘)
不难发现,面向对象编程比普通的函数编程多了一个参数 self,那这个 self 是什么东西呢?
self是一个python自动会给传值的参数:
看实例:
class SQL:#定义数据库的增删改查 def fetch(self,sql): pass def create(self,sql): pass def remove(self,nid): pass def modify(self,name): pass obj =SQL() obj.host=‘www.db1.com‘#定义数据库的host,随后运行时会返回到self obj.username=‘python‘#定义数据库的用户名,随后运行时会返回到self obj.password=‘123‘#定义数据库的密码,随后运行时会返回到self ‘‘‘当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性赋值给对象, 然后python会把这些参数返回到self中‘‘‘ #运行fetch方法,并把参数指向sql,self里面已经被python返回了三个参数 obj.fetch(‘select * from DB‘)
到这里基本简单了解函数式编程和面向对象编程的区别了:
当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性赋值给对象,然后python会把这些参数返回到self中
时间: 2024-10-09 08:33:55