内容正文:
第8章 类和对象
类和对象概述
类的基本使用
属性
方法
实战12:人机猜拳游戏
导入模块中的类
模块3:datetime库的使用
实战13:倒计时日历
理解类和对象的概念
掌握类的基本使用方法
理解私有属性、公有属性和类属性
理解私有方法、公有方法、类方法和静态方法
掌握导入模块中的类的方法
学 习 目 标
LEARNING OBJECTIVES
初心至善 匠心育人
8.1
类和对象概述
初心至善 匠心育人
目录
Contents
8.1 类和对象概述
对象是类的一个实例,有属性和行为。类则表示一个模板,用于描述一类对象的属性和行为。
初心至善 匠心育人
8.1 类和对象概述
有一家宠物医院,需要记录所有的宠物信息,要怎么记录呢?难道要每个都单独记录吗?
初心至善 匠心育人
8.1 类和对象概述
面向对象程序设计的思想需要以对象来思考问题,将现实中的实体抽象为对象,并考虑这个对象对应的属性和行为。
根据面向对象程序设计的思想,可以将此宠物信息的记录问题分解以下步骤。
首先从此问题中抽象出对象,对象是宠物医院的每一只宠物。
然后识别出对象的属性,比如每一只宠物都有姓名、品种、颜色以及年龄。
最后识别对象的动态行为。
初心至善 匠心育人
8.1 类和对象概述
以面向对象的方式记录宠物信息
初心至善 匠心育人
8.1 类和对象概述
类实质上就是封装对象属性和行为的载体,而对象则是类中具体的一个实例。
初心至善 匠心育人
8.2
类的基本使用
类的定义
设置属性的默认值
创建实例对象
修改属性的值
初心至善 匠心育人
目录
Contents
8.2 类的基本使用
8.2.1 类的定义
class Dog:
def __init__(self,name,breed,age):
"""初始化属性name、breed和age"""
self.name = name
self.breed = breed
self.age = age
def eat(self):
"""小狗正在吃狗粮"""
print(f"{self.name}正在吃狗粮")
def run(self):
"""小狗正在奔跑"""
print(f"{self.name}在奔跑玩耍")
1.构造方法__init__()
构造方法一般用于类的初始化操作,在创建实例对象时被自动调用和执行。
2.self的作用
self的作用是代表将来要创建的实例对象本身,让实例能够访问类中的属性和对象。
3.实例方法
最少含有一个self参数,用于绑定实例对象的方法称为实例方法,可以被实例对象直接调用。
定义一个类需要使用class关键字,类名的首字母常用大写
初心至善 匠心育人
8.2 类的基本使用
8.2.2 创建实例对象
class Dog:
def __init__(self,name,breed,age):
"""初始化属性name、breed和age"""
self.name = name
self.breed = breed
self.age = age
def eat(self):
"""小狗正在吃狗粮"""
print(f"{self.name}正在吃狗粮")
def run(self):
"""小狗正在奔跑"""
print(f"{self.name}在奔跑玩耍")
d1 = Dog("小巴","哈巴狗",4) #创建实例对象
类的使用与函数类似,当定义了一个类时,其中的代码不会被执行,当调用类来创建对象时,类中的代码才真正起作用。
初心至善 匠心育人
8.2 类的基本使用
8.2.2 创建实例对象-访问属性
class Dog:
"""类的定义与前文一致,在此处省略部分代码"""
d1 = Dog("小巴","哈巴狗",4) #创建实例对象
print(f"狗狗的姓名是{d1.name}") #访问name属性
print(f"狗狗的品种是{d1.breed}") #访问breed属性
print(f"狗狗的品种是{d1.age}") #访问age属性
访问属性,需要使用“实例名.属性”的方式
狗狗的姓名是小巴
狗狗的品种是哈巴狗
狗狗的品种是4
初心至善 匠心育人
8.2 类的基本使用
8.2.2 创建实例对象-调用实例方法
class Dog:
"""类的定义与前文一致,在此处