Python随堂笔记 面向对象程序设计

本文是Python语言基础的随堂笔记,主要讲解Python中的面向对象程序设计,包括类与对象、成员、方法、继承与多态等概念。介绍了Python如何支持OOP,类的定义、对象创建,以及公有成员、私有成员和内置成员的区别。此外,还讨论了构造方法、析构方法、抽象类和抽象方法的使用。
摘要由CSDN通过智能技术生成

🌴 2022.04.20 下午

前言

🎬本文章是 【Python语言基础】 专栏的文章,主要是上课的随堂笔记与练习
🔗Python专栏 传送门
💻提示:本文的环境配置是Python3的开发环境。目录顺序以当堂内容(教材)为准,所以并非“1、2、3”
📽本节主要内容:python与C+和JAVA一样也有类、对象、成员…学习python面向对象程序设计可以对比着学习,更好理解

6 面向对象程序设计

6.1 概述

🚀 程序设计方法

  • 计算机程序设计的语言有很多种,如C/C++、C#、Java和Python等
  • 程序设计语言描述计算机系统的方式一般有两种:面向过程程序设计(Procedure Oriented Programming, POP)和面向对象程序设计(Object Oriented Programming,OOP)
  • POP把计算机程序视为一系列命令的集合,即一组函数按照事先设定的顺序依次执行,函数是程序的基本单元
  • 为了简化程序设计,把函数继续分解为子函数来降低程序的复杂度。使用POP的程序设计语言有C、Python等
  • OOP是一种新的程序设计思想和方法。OOP把计算机程序视为一组对象(Object)的集合,每个对象都可以接收其他对象发送的消息,并处理这些消息。 计算机程序的执行指一系列消息在各个对象之间传递
  • 支持OOP的程序设计语言有C++、C#、Java、Python等
  • OOP的基本思想是,将数据以及对数据的操作封装在一起,组成一个相互依存、不可分割的整体,即对象
  • 对相同类型的对象进行分类、抽象后,得出共同特征而形成
  • 面向对象程序设计的关键是,如何合理地定义和组织这些类及类之间的关系
  • OOP的基本概念包括对象、类、消息、封装、继承和多态等。其中,封装、继承和多态是OOP最重要的三个特征

🚀 Python中的面向对象程序设计

Python不仅支持POP,更是一种面向对象、高级的动态编程语言,完全支持OOP的各项功能,如封装、继承、多态及对类方法的覆盖或重写等

Python中对象的概念很广泛,一切内容都可以看成对象

6.2 类与对象

6.2.1 类的定义

类是一种类型,对象是该类型的一个变量

类是抽象的,一般不占用内存空间;对象是具体的,创建一个对象时要为其特征分配相应的内存空间

定义类的一般格式为

class 类名:
    """类说明"""
    类体
  1. 组成:主要由类头和类体两部分组成
  2. 类头:由关键字class开头,后面是类的名称
  3. 类体:类体中包含类的实现细节,向右缩进对齐。类体中一般包含两部分内容
  4. 数据成员:用来存储特征的值(体现对象的特征),简称为成员
  5. 成员方法:用来对成员进行操作(体现对象的行为),简称为方法
  6. 类说明:类中也可以选择性添加类的文档字符串,对类的功能等进行说明(就是通过注释生成自己的一个API文档)
  • 要使用类中定义的成员和方法,必须对类实例化,即创建类的对象
  • 在Python中,使用赋值的方式创建类的对象,其一般格式为:对象名 = 类名([参数列表])
  • 对象创建后,可以使用“对象.成员”“对象.方法()”调用该类的成员和方法

6.2.2 对象创建和使用

创建一个类的对象,调用类中的方法

#定义类
class Car:
  #定义构造方法,self代表类的对象,而非类本身
  def __init__(self,name):
    self.name = name
  #定义方法
  def getName(self):
    return self.name
#创建对象
c1 = Car("奔驰")
print("这辆汽车的品牌:",c1.getName())
'''
这辆汽车的品牌: 奔驰
'''

6.3 类的成员

6.3.1 成员类型

按照能否在类的外面直接访问,类的成员可分为如下两种

  1. 公有成员:公有成员不以下画线开头,在类的内部可以访问,在类的外面也可以访问
  2. 私有成员:以单下画线或双下画线开头,在类的外面不能直接访问,只能在类的内部访问或在类的外面通过对象的公有方法访问

在形式上,以单下画线或双下画线开头的是私有成员

  1. _xxx:一个以下画线开头的成员。类和派生类可以访问这些成员
  2. __xxx:以两个或更多下画线开头但不能以两个或更多下画线结束的成员。对该成员,只有类自己可以访问,派生类也不能访问

按照归属于类还是对象,类的成员可分为两类

  1. 类成员:定义在类体中且在所有方法外的成员为类成员。类成员属于类本身,一般通过类名调用,不建议使用对象名调用
  2. 实例成员:在类的方法中定义的成员为实例成员。实例成员只能被对象调用。实例成员一般在构造方法__init__()中创建,或在其他方法中创建

创建及使用类的公有成员和私有成员

#定义类
class Woman:
  def __init__(self,name,sex,age):
    self.name = name          #定义公有成员
    self._sex = sex           #定义单下画线私有成员
    self.__age = age          #定义双下画线私有成员
  def getAge(self):
    return self.__age
#创建对象
w = Woman("小芳","Female",18)
print("姓名: %s, 性别: %s, 年龄: %d."%(w.name,w._sex,w.getAge()))
'''
姓名: 小芳, 性别: Female, 年龄: 18
'''

类成员和实例成员的创建及使用

#定义类
class Student:
  chinese = 142                         	
  maths = 1                             	
  english = 141                          	
  #定义构造方法
  def __init__(self,name):                          
    self.name = name                    	
#创建对象
s1 = Student("马允")                                                   
print(s1.name + "的语文成绩: " + str(Student.chinese))     
print(s1.name + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值