自定义类
理解面向对象的基本概念:类和对象
掌握类的定义、属性和方法
能创建简单的自定义类并实例化对象
核心讲解
(1)基本概念
类(class):一类事物的抽象模板,定义了这类事物共同的属性和方法
对象(object):类的具体实例,是真实存在的个体
一个类可以创建无数个对象,每个对象都有类定义的属性和方法
(2)类的定义
用 class 关键字定义类,类名一般用大驼峰命名法(每个单词首字母大写)。
(3)构造方法 __init__
创建对象时自动调用的方法,用来初始化对象的属性。第一个参数必须是 self,代表对象本身。
(4)self 的作用
self 代表当前对象自己,在类的方法中,通过 self 来访问对象的属性和调用自己的方法。
(5)自定义方法
类里面定义的函数就是方法,第一个参数必须是 self,调用时不用传 self。
代码示例
# 定义一个学生类
class Student:
# 构造方法,初始化属性
def __init__(self, name, age, major):
# self.属性名 = 参数
self.name = name
self.age = age
self.major = major
self.score = 0
# 自定义方法:学习
def study(self, hours):
print(f"{self.name}学习了{hours}小时")
self.score += hours * 2
# 自定义方法:介绍自己
def introduce(self):
print(f"我叫{self.name},今年{self.age}岁,专业是{self.major}")
print(f"当前分数:{self.score}")
# 创建对象(实例化)
s1 = Student("张三", 20, "计算机")
s2 = Student("李四", 19, "软件工程")
# 调用方法
s1.introduce()
s1.study(5)
s1.introduce()
print("------")
s2.introduce()
s2.study(3)
s2.introduce()
# 访问属性
print(s1.name)
print(s2.major)
常见误区
构造方法忘写 self:
__init__的第一个参数必须是 self,参数顺序不要错调用方法不传参数:方法的 self 不用手动传,传后面的参数就行
类名不规范:类名要用大驼峰,和函数、变量区分开
混淆类和对象:类是模板,对象是实例,属性和方法要通过对象来调用
课后练习
定义一个手机类,属性有品牌、型号、价格,方法有打电话、介绍信息
创建两个手机对象,分别调用它们的方法
给手机类添加一个降价的方法,接收降价金额,修改价格属性

