Python 面向对象学习(一)

1. 面向对象的概念

面向对象编程——Object Oriented Programming,是我们在编程中解决问题的一个新的方式,一种编程的思想。而在常见的编程中,我们是以面向过程的方式解决的,首先我们了解一下面向对象与面向过程的基本概念。

1.1 面向过程

我们把完成一件工作的各个步骤依次编写代码,每一个步骤都可以封装成一个函数,在使用是只需要依次调用即可。特殊的,一个步骤也可以分成很多小的步骤,使用更小的函数来解决。

例如,把大象装进冰箱需要几步?

  1. 把冰箱门打开
  2. 把大象装进冰箱
  3. 把冰箱们关上

我们可以编写这样的三个函数

def open_fridge_dooor():
    # 打开冰箱门的方法
    print("打开冰箱门")
    pass

def get_an_elephant_into_fridge():
    # 把大象装进冰箱的方法
    print("把大象装进冰箱")
    pass

def close_fridge_door():
    # 关上冰箱门的方法
    print("把冰箱门关上")
    print("(o゜▽゜)o☆[BINGO!] 我把大象关冰箱里了!")
    pass

open_fridge_dooor()
get_an_elephant_into_fridge()
close_fridge_door()

执行结果

打开冰箱门
把大象装进冰箱
把冰箱门关上
(o゜▽゜)o☆[BINGO!] 我把大象关冰箱里了!

这样,在我们需要实现把大象关进冰箱是只需要依次掉用三个函数就可以完成了。所以我们在解决问题前,要提出解决问题的过程,然后按部就班实现就可以了。

1.2 面向对象

在面向对象的编程方式中,我们把问题分解为各个对象,在不同对象的中封装不同的方法,最后让对象调用自身的方法,从而完成目标的工作。

我们仍然以把大象装进冰箱为例,在问题中需要把大象装进海尔冰箱。我们应该如何解决这个问题呢?

在面向对象编程中,要首先进行需求分析,明确需要创建对象的类。在把大象关进冰箱的问题中,我们需要一个冰箱的对象,它有一个名称的属性是海尔冰箱,然后由冰箱执行开门-装大象-关门的操作。所以我们建立一个冰箱类,由类创建冰箱对象。这里你可能还不明白类、对象、属性、方法是什么,不过没有关系,在之后的内容中我们将依次介绍。

class Fridge(object):
    def __init__(self, name):
        self.name = name

    def open_door(self):
        # 打开冰箱门的方法
        print("打开冰箱门")
        pass

    def move_sth_in(self, sth):
        # 冰箱装东西的方法
        print("把 %s 装进 %s" % (sth, self.name))
        pass

    def close_door(self):
        # 关上冰箱门的方法
        print("把冰箱门关上")
        pass

fridge = Fridge("海尔冰箱")
fridge.open_door()
fridge.move_sth_in("大象")
fridge.close_door()

执行结果

打开冰箱门
把 大象 装进 海尔冰箱
把冰箱门关上

在这个问题中我们可以发现,使用面向对象编程时,代码的调用关系十分清晰明确。在复杂的项目开发中,如果以面向过程的编程方法可能会出现代码的互相调用,代码的结构会变得复杂,从而出现各种各样的BUG需要我们解决,而面向对象方法给了我们在面对复杂问题时的通用的解决思路。

1.3 面向过程与面向对象

学习面向对象需要读者已经掌握Python 语法和熟悉面向过程的基础上,再学习一些面向对象的语法,经过一定的训练就可掌握面向对象的编程方法了。

面对一个具体问题时,在选择面向过程还是面向对象的问题上,我们也不必太过纠结,如果你在分析问题后已经形成了使用面向过程的解决方案,那么使用面向过程方法就好了;如果遇到相对复杂的问题没有头绪时,不妨从面向对象的思路中,找到一条解决问题的途径。

原文地址:https://www.cnblogs.com/geoffry/p/10360442.html

时间: 2024-10-12 14:20:01

Python 面向对象学习(一)的相关文章

Python面向对象学习

以下面例子作为面向对象基础介绍,类比java里的面向对象既可以,大同小异 class Employee(): raiseAmount=1.04 employeeNum=0 def __init__(self,first,surname,salary):#相当于java里面的结构体,self可以理解为this self.first = first #属性 self.surname = surname self.salary = salary self.email = first + '.' + s

Python面向对象学习小结之三 继承

继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 class ParentClass1: #定义父类 pass class ParentClass2: #定义父类 pass class SubClass1(ParentClass1): #单继承,基类是ParentClass1,派生类是SubClass pass class SubClass2(ParentClass1,Pare

转 python语法学习面向对象之继承

传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始化方法__init__,可以理解为构造,self,理解为this,等等在前一篇文章中介绍过,现在就学习类的继承. 继承: 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型关系. 需要注意的地方:继承语法   class 派生类

开始学习Python面向对象编程

之前粗浅地学习过C++,对于面向对象有些了解,现在通过Python仔细学习一下面向对象: 类 类使用 class 关键字创建.类的域和方法被列在一个缩进块中. class Person: pass #pass语句表示一个空类 p = Person() print(p) $ python simplestclass.py <__main__.Person object at 0x019F85F0>#我们已经在 __main__ 模块中有了一个 Person 类的实例 对象的方法 class Pe

Python学习—面向对象学习下

面向对象下 1.构造方法与析构方法 class People(object): # 构造方法:__init__(),在实例化对象时自动执行的方法 def __init__(self, name, age): self.name = name self.age = age print("创建对象成功.......") # 析构函数:__del__(), 当你删除对象时,自动调用的方法 # 删除对象:del 对象名 def __del__(self): print("删除对象成功

Python 面向对象class(2)

Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程. 接下来我们先来简单的了解下面向对象的一些基本特征. 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定

python的学习内容

Python的学习路线 掌握基本的语法 这个入门的东西很多,最好的当然是去看官方的文档,如果英语不好那就另当别论,其次看一些优秀的书籍,当然这个也是耗费时间的,但是如果你要是速成,速度的速,那通过一些博客.视频其实也不失为好的方式,起码上手更容易一些了,尤其是你真正的第一门语言. 掌握常用的库 使用成熟可靠的第三方库是多么的高效,尤其是你就几个人小打小闹的时候,重复造轮子是多么的没有必要,但是你必须理解人家的机制,等你用第三方库多了,有能力写自己的库的时候,那我就是真正的恭喜你了. 自动化运维相

60分钟Python快速学习(转)

60分钟Python快速学习(给发哥一个交代) 阅读目录 第一步:开发环境搭建: 第一个Python功能:初识Python 02.Python中定义变量不需要数据类型 03.在Pythod中定义方法 04.在Python中书写自己的类 60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空格缩进表示等. 今天自己用了60分钟快速学习了下Python的语

Python开发学习路线

Python , 是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,Python 已经成为继JAVA,C++之后的的第三大语言. 特点:简单易学.免费开源.高层语言.可移植性强.面向对象.可扩展性.可嵌入型.丰富的库.规范的代码.大这里给家列出从Python入门到实战学习路线. 一.入门教程 1.Python 面向对象编程 2.jquery入门 3.HTML+CSS基础入门 4.Javascript初步 5.Python语言编程基础 二.初级教程 1.Git 与 GitHub 2.P