Python函数式编程与面向对象编程的思想(OOP)转变

函数式编程能实现的,OOP都可以满足。函数式编程的思想主要为:先编好一个个我们需要的具有特定功能的函数,然后再声明(Python 只用把所要用的函数全部写在最前面即可),比如 C 或者一些其他面向过程的程序设计语言,写完函数就需声明。

接下来我就用多个简单的实例,来个大家展现两种不同的"编程思想" 来实现相同的功能

 

两段程序都将实现同一个目的,也就是打印下面这句话:

 

 

一、我们先看看"函数式编程" 的程序写法

def bug():
    print("and I dislike debugging!!!")

def Hello(name):
    print("Hello,I am",name)

Hello('Gorit') #上面的函数我们加了一个参数name,我们可以直接在要调用的函数中填入我们期望的参数
bug() #直接调用函数

这里大部分小伙伴学习的必经之路,一个程序的各个功能的实现由各种函数编写而成

 

二、我们通过模块来装入我们定义的函数

稍微高级一点的,就用模块来填装我们的函数,(不知道怎么导入模块的点我) 这样可以使我们的程序变得更加简洁

我们再创建一个名字为 “python1” 的python文件,然后加入上面定义的函数

然后像上图一样再新建一个"python1_1" 的文件,这样我们就可以实现模块化的函数编程

"python1" 是我们定义好的一个模块 ,我们在"python1_1" 中就来导入这个模块

import python1

python1.Hello('Gorit') #通过我们导入的模块来调用其中的函数
python1.bug()

 这样看起来程序是不是比第一行中的更加简洁呢?

 

三、接下来我们要看的就是用"OOP"编程思想来实现上述的功能

class Tar(): #Tar是我们定义的一个类

    def Bug(self): #这里是我们定义的函数,在OOP中,函数的名称又叫“方法”
        print('and I dislike debugging!!!')

    def hello(self,name): #在hello中这个方法中,我们添加了一个 “name” 的参数
        print("Hello,my name is",name)

object = Tar()# 创建一个实例
object.hello('Gorit') #在OOP中,我们需要通过实例来访问方法
object.Bug()# 调用方法

打印的内容和上面是一样的

 

四、通过模块导入"类", 来实现上述功能

这里我们在上面创建的python文件(python1),加入这段代码,不清楚这块的可以看这篇博客—— 如何通过模块导入类?

'''def bug():
    print("and I dislike debugging!!!")

def Hello(name):
    print("Hello,I am",name)
'''
#将上面函数式编程的代码注释掉

class Tar():

    def Bug(self):
        print('and I dislike debugging!!!')

    def hello(self,name):
        print("Hello,my name is",name)

然后再创建一个新的python文件,名字为 "python1_2",写入下面的代码:

from python1 import Tar #只导入一种模块

my_introduction = Tar()
my_introduction.hello('Gorit')
my_introduction.Bug()


#整个导入
import python1

my_introduction = python1.Tar()
my_introduction.hello('Gorit')
my_introduction.Bug()

然后你就可以看到你想看到的你想看到的,哦也!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值