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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python编程:函数式编程和面向对象编程的对比相关的知识,希望对你有一定的参考价值。

言而简之,面向对象编程就是把函数编程外面包装一个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中

  

 

以上是关于python编程:函数式编程和面向对象编程的对比的主要内容,如果未能解决你的问题,请参考以下文章

Python -- 面向对象:初识

Python 函数式编程和面向对象编程

python --- 面向对象编程

Python入门自学进阶——5--类与对象

函数式编程 vs. 面向对象编程

Python学习之旅 —— 基础篇面向对象