趣味解读Python面向对象编程 (类和对象)

2020-09-28  本文已影响0人  Python进阶学习交流

一、面向对象简介

考虑现实生活中,我们的思维方式是放在学生这个个人上,是学生做了自我介绍。而不是像我们刚刚写出的代码,先有了介绍的行为,再去看介绍了谁。

用我们的现实思维方式该怎么用程序表达呢?

今天来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)。

面向对象编程的2个非常重要的概念:类和对象。

对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类。

类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象。

二、分析类与对象

1. 类

物以类聚,人以群分。
具有相似内部状态和运动规律的实体的集合(或统称为抽象)。
具有相同属性和行为事物的统称。

类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在,一个类可以找到多个对象。

2. 对象

某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。可以是直接使用的。

3. 类和对象之间的关系

小总结:类就是创建对象的模板。

4. 区分类和对象

奔驰smart 类
张三的那辆奔驰smart 对象
水果 类
苹果 类
红苹果 类 红富士苹果 类
我嘴里吃了一半的苹果 对象

5. 类的构成

类(Class) 由3个部分构成

举例:

1)人类设计,只关心3样东西:

2)狗类的设计

6. 类的抽象

如何把日常生活中的事物抽象成程序中的类?

拥有相同(或者类似)属性和行为的对象都可以抽像出一个类。

方法:一般名词都是类(名词提炼法)

<1> 坦克发射3颗炮弹轰掉了2架飞机
<2> 小明在公车上牵着一条叼着热狗的狗
<3>【想一想】如下图中,有哪些类呢?

说明:

<4>【想一想】如下图中,有哪些类呢?

说明:

三、项目

1. 定义类

定义一个类,格式如下:

class 类名:
    方法列表

demo:定义一个Cat类

# 定义类
class Cat:
   # 方法
   def eat(self):
       print("猫在吃鱼....")

   def drink(self):
       print("猫在喝可乐...")

说明:

2. 创建对象

Python中,可以根据已经定义的类去创建出一个个对象。

创建对象的格式为:

对象名 = 类名()

创建对象demo:

# 定义一个类
class Cat:
   # 属性
   # 方法
   def eat(self):
       print("猫在吃鱼....")

   def drink(self):
       print("猫在喝可乐...")

# 根据类,创建一个对象
tom = Cat()

3. 调用对象的方法

class Cat:
   # 属性
   # 方法
   def eat(self):
       print("猫在吃鱼....")

   def drink(self):
       print("猫在喝可乐...")

# 创建了一个对象
tom = Cat()
tom.eat() # 调用对象的eat方法
tom.drink()

运行结果,如图所示:

4. 给对象添加属性

class Cat:
    # 属性
    # 方法
    def eat(self):
        print("猫在吃鱼....")

    def drink(self):
        print("猫在喝可乐...")

# 创建了一个对象
tom = Cat()

# 给对象tom添加了一个属性,叫name,里面的值是"汤姆"
tom.name = "汤姆"

# 给对象tom添加了一个属性,叫age,里面的值是30
tom.age = 30

# 调用tom的方法
tom.eat()
tom.drink()
print(tom.name)
print(tom.age)

运行结果,如图所示:

5. 通过方法获取对象属性。

class Cat:
    # 属性
    # 方法
    def eat(self):
        print("猫在吃鱼....")

    def drink(self):
        print("猫在喝可乐...")

    def introduce(self):
        # print("名字是:%s, 年龄是:%d" % (汤姆的名字, 汤姆的年龄))
        print("名字是:%s, 年龄是:%d" % (tom.name, tom.age))

# 创建了一个对象
tom = Cat()

# 给对象tom添加了一个属性,叫name,里面的值是"汤姆"
tom.name = "汤姆"
tom.age = 30

# 调用tom的方法
tom.eat()
tom.drink()

# 直接通过对象获取其属性
print(tom.name)
print(tom.age)

print("-"*30)

# 调用tom的方法,在其方法中获取它的属性
tom.introduce()

运行结果,如图所示:

四、总结

本文以生活中的基础现象为切入点,主要介绍了Python的面向对象基础知识,用丰富的案例帮助大家更好的去了解对象,最后以一只猫作为小项目,使用Python编程语言,方便大家增加对类和对象的认识,希望对大家的学习有帮助。
想学习更多Python网络爬虫与数据挖掘知识,大家可前往专业网站:http://pdcfighting.com/

上一篇 下一篇

猜你喜欢

热点阅读