前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python函数式编程与面向对象编程的思想(OOP)转变

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

作者头像
Gorit
发布2021-12-09 16:24:40
5461
发布2021-12-09 16:24:40
举报
文章被收录于专栏:Gorit 带你学全栈系列

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

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

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

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

代码语言:javascript
复制
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" 中就来导入这个模块

代码语言:javascript
复制
import python1

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

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

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

代码语言:javascript
复制
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),加入这段代码,不清楚这块的可以看这篇博客—— 如何通过模块导入类?

代码语言:javascript
复制
'''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",写入下面的代码:

代码语言:javascript
复制
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()

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/01/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、我们先看看"函数式编程" 的程序写法
  • 二、我们通过模块来装入我们定义的函数
  • 三、接下来我们要看的就是用"OOP"编程思想来实现上述的功能
  • 四、通过模块导入"类", 来实现上述功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档