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中

  

时间: 2024-10-09 08:33:55

python编程:函数式编程和面向对象编程的对比的相关文章

Python基础-第七天-面向对象编程进阶和Socket编程简介

本篇内容: 1.面向对象编程进阶-静态方法 2.面向对象编程进阶-类方法 3.面向对象编程进阶-属性方法 4.面向对象编程进阶-特殊成员(内置方法) 5.面向对象编程进阶-反射 6.异常处理.断言 7.Socket编程简介 一.面向对象编程进阶-静态方法 1.静态方法的实现 通过@staticmethod装饰器可以把其装饰的方法变为一个静态方法: 变成静态方法后,形参中可以不用写self了.如果写了self,默认是不会把对象本身传递给self,需要手动传递: class Dog(object):

[.net 面向对象编程基础] (2) 关于面向对象编程

[.net 面向对象编程基础]  (2)  关于面向对象编程 首先是,面向对象编程英文 Object-Oriented Programming 简称 OOP 通俗来说,就是 针对对象编程的意思 那么问题来了什么是对象,不是“女盆友”“找对象”的这个对象.当然也可以理解“女盆友”也是“对象”的一种. 面向对象中的对象,指一切皆是对象 专业述语解释我们无视就好 只所有面向对象编程,是因为之前有一个面向过程编程 面向过程——是指把问题分解成步骤,一步一步实现 面向对象——是把构成问题的事务分成各个对象

python学习笔记day6【面向对象编程】

面向对象编程 一.编程范式:编程的方法论.程序员编程的“套路”及“特点”特点总结,抽象成方法.规范. 二.面向对象编程介绍: 1.描述 世界万物,皆可分类:世间万物,皆为对象:只要是对象,就肯定属于某种品类:只要是对象,就肯定有一定的属性. opp编程(面向对象编程)的抽象机制是将待解问题抽象为面向对象的程序中的对象.利用封装使每个对象都拥有个体的身份.程序便是成堆的对象,彼此通过消息的传递,请求其它对象 进行工作.也可以说opp编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述.

Python学习第三天(面向对象编程)01

面向对象编程(OOP) 程序 = 指令 + 数据 两种范型 面向过程: 以指令为核心:围绕"正在发生什么"进行编写 程序具有一系列线性步骤:主体思想是代码作用于数据 面向对象: 以数据为核心:围绕"将影响谁"进行编写 围绕数据及为数据严格定义的接口来组织程序,用数据控制对代码的访问 所有编程语言的最终目的都是提供一种抽象方法 在机器模型("解空间"或"方案空间")与实际解决的问题模型 ("问题空间")之间,

Python基础语法介绍:面向对象编程

面向对象编程 面向对象编程,简称OOP:是一种解决软件服用的设计和编程方法.这种方法把软件系统中相似的逻辑操作.数据.状态等以类的形式描述出来,通过对象实例在软件系统中复用,从而提高软件开发效率. 类和对象 类:一个事物的抽象,定义了一类事物的属性和行为.类具有继承,多态的特性.对象:通过类创建的一个具体事物,也就是类的实例,它具有状态和行为,可以做具体的事情.关系:类相当于创建对象的模板,根据类可以创建一个或者多个对象实例.类的构造方法 类的访问权限 继承 多态 原文地址:http://blo

接口测试学习-python第七课(面向对象编程)

以前都是面向过程编程,做一件事是按顺序来的,必须经过很多操作.现在是面向对象编程,将各种操作集合在一起,然后指挥其适用于多个场景.上课时老师举了一个蛮贴切的例子,比如买车,面向过程就是先去学车,然后去4s店买车,然后去办证,然后保险,然后临时牌照,然后正式牌照.面向对象就像将这些所有步骤会经历的场景整合起来,直接开一个车辆购置办证中心,然后从学车到办证甚至以后的缴纳罚款全都在这里处理.在我的理解,面向对象就是给一些有共同性的事物先造一个模型,这个模型有这些事物共同的属性,也有这些事物共同的处理方

Python之路,Day7 - 面向对象编程进阶

本节内容 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业开发一个支持多用户在线的FTP程序 面向对象高级语法部分 静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法什么是静态方法呢其实不难理解普通的方法可以在实例化后直接调用并且在方法里可以通过self.调用实例变量或类变量但静态方法是不可以访问实例变量或类变量的一个不能访问实例变量和类变量的方法其实相当于跟类本身已经没什么关系了它与类唯一的关联就是需要通过

Python之路,Day8 - 面向对象编程进阶

本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典类vs新式类 把下面代码用python2 和python3都执行一下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #_*_coding:utf-8_*_ class A:     def __init__(self):

Python 进阶(三)面向对象编程基础

定义类并创建实例 在Python中,类通过 class 关键字定义.以 Person 为例,定义一个Person类如下: class Person(object): pass 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的.类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承. 有了Person类的定义,就可以创建出具体的xiaoming.xiaohong等实例.创建实例使用 类名+(),类似函数调用的形式创建: xia

python核心编程学习记录之面向对象编程

未完待续