码迷,mamicode.com
首页 > 编程语言 > 详细

python编程:函数式编程和面向对象编程的对比

时间:2017-11-03 19:04:54      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:面向   ret   就是   自动   move   xxx   message   编程   sele   

言而简之,面向对象编程就是把函数编程外面包装一个class类,然后再把这个class类指向一个对象

而class类中的函数在这里称为方法

举个例子:

用函数式编程写出一键发送邮件的脚本:

def e_mail(email,message):
    print(‘邮件发送中...‘)
    return True

e_mail(‘xxxx@163.com‘,‘邮件内容‘)

  

用面向对象编程写出一键发送邮件的脚本:

class Foo:
    #e_mail称为方法
    def e_mail(self,email, message):
        print(‘邮件发送中...‘)
        return True

#创建一个对象;对象名 = 类名()
obj = Foo()
#通过对象去执行这个方法
obj.e_mail(‘xxxx@163.com‘,‘邮件内容‘)

 不难发现,面向对象编程比普通的函数编程多了一个参数 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中

  

 

python编程:函数式编程和面向对象编程的对比

标签:面向   ret   就是   自动   move   xxx   message   编程   sele   

原文地址:http://www.cnblogs.com/zuiziyouran/p/7779329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!