python

当前位置:首页 > python面向对象 > 当前文章

python面向对象

面向对象概念初步建立

2019-07-17 160赞 老董笔记
每篇文章努力于解决一个问题!更多精品可移步文章底部。

  思考:

  网站有一个用户,定义一个变量保存,网站有一堆用户,定义一堆变量保存有点不科学,于是诞生了列表,用一个列表保存一堆用户名。做算术运算,多次定义变量print太累赘,于是有了函数,在函数内部实现功能然后调用函数即可。由此可见,一个事物的诞生总是为了解决一些问题,面向对象也是如此。

  面向对象产生背景

  未了解面向对象之前的代码都是直接从结果去考虑,需要什么操作就写什么代码,需要读文件就读文件,需要抓取数据就请求网页,最后满满当当一篇代码都是各种功能的集合,这种风格被称作面向过程。

  程序开发不是简单的读取输出,也不是简单的加减乘除,而是根据场景可能产生各种复杂的操作!

  比如开发网站要与数据库交互、要处理http请求、要加载模板等;数据库一把需要增删改查,我们可以专门准备一段代码复杂数据库各种操作。同理,http请求和模板处理也有专门的代码负责。这种思路就是面向对象的雏形。

  比如游戏开发需要各种角色,每种角色有不同的特征和技能,角色之间还会互相攻击造成各自的特征发生变化。在交互过程中如何能便捷的记录各自的状态?直接靠传统的定义变量和函数然后输出显然比较凌乱,所以就得思考其他方式。

  就这样,随着程序的复杂,人类觉得应该把功能分门别类,每一类的操作聚集到一起,这样使用和修改都很方便。面向对象就应运而生,面向对象是一种编程思路,不限于python,虽然不同语言面向对象实现的语法不同,但是背后的思想是一致的。

  下面这个类是对数值组成的列表求和、求均值、求最大值、最小值。

# ‐*‐ coding: UTF-8 ‐*‐

class Operation:
    def __init__(self,lis):
        self.lis = lis

    def add(self):
        total = sum(self.lis)
        return total

    def mean(self):
        print('求均值:',self.add()/len(self.lis))

    def get_max(self):
        self.lis.sort()
        max = self.lis[len(self.lis) - 1]
        print('最大值:',max)

    def get_min(self):
        self.lis.sort()
        min = self.lis[0]
        print('最小值:', min)


if __name__ == "__main__":
    lis_num = [1,2,3,4,5]
    obj = Operation(lis_num)
    obj.mean()
    obj.get_max()
    obj.get_min()
求均值: 3.0
最大值: 5
最小值: 1

文章评论

面向对象概念初步建立文章写得不错,值得赞赏