Python编程基础知识之第五课类
类就是指相同事物的集合,例如整数是一个类,整数包含正整数、负整数和0归一一起都是整数。对象的指类中的具体实例,例如12是整数这一类的一个具体的数值对象。
目录
简介
在 Python 的编程世界里,当我们需要处理复杂的数据和功能时,“类” 就像一个强大的工具,能帮我们把相关的信息和操作整合在一起。简单来说,类是一种自定义的数据类型,它就像一个模板,里面包含了描述事物的属性和操作事物的方法。比如,我们可以定义一个 “汽车” 类,属性可以有颜色、品牌、排量等,方法可以有启动、加速、刹车等。通过这个模板,我们能轻松创建出各种具体的汽车对象,每个对象都拥有类中定义的属性和方法,却又可以有不同的属性值。
1.类的介绍
1.类与对象的基本概念
类就是指相同事物的集合,例如整数是一个类,整数包含正整数、负整数和0归一一起都是整数。
对象的指类中的具体实例,例如12是整数这一类的一个具体的数值对象。
2.创建类
class 类的名称():
'''类的文档说明'''
def __init__(self,参数1,参数2....):
代码块1
def 方法名1(参数3,参数4....):
代码块2
def 方法名2(参数5,参数6.....):
代码块3
...
(1.) class是Python中的保留字,为了区别函数,类一般首字母都大写
(2.)第二行内容是第一段由三个引号引起来的字符串,主要用于常见累的功能说明与方法的说明
(3.)self关键字是成员方法定义的时候,必须填写的。 它用来表示类对象自身的意思 当我们使用类对象调用方法的是,self会自动被python传入 在方法内部,想要访问类的成员变量,必须使用self。
(4.)一个类中可以创建多个方法
import time
class Microwave():
'''微波炉类的文档说明'''
def __init__(self,name):
self.name=name
self.time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
def print_info(self):
print(' 微波炉的名字:',self.name,'\n','购买时间:',self.time)
def bread (self,temp=3):
self.temp = temp
print(" 开始烤面包,时长:",self.temp,'分钟')
pass
a = Microwave('zhangsan')
a.print_info()
a.bread()
上面代码就创建了一个Microwave的类,使用def保留字常见了类Microwave的初始化方法,并需要接收一个参数name,类里面有设置两个方法为print_info用于获取微波炉的属性信息与bread用于模拟微波炉的提醒功能。两个方法的形参都是self,这就是表面在self中,可以使用这个名叫self内存快中所有的变量。
3.创建对象
在使用类和类中方法时,需要通过调用类来创建类的对象,使用形式如下:
对象=类名(实参)
创建类的对象后,就可以通过对象名使用类中的方法,使用形式如下:
对象.方法名(参数)
2.类的属性
1.属性的使用
类的属性是指给每一个对象赋予的标签信息,在使用属性前需要创建一个具体的对象,因为是每一个具体对象的标签信息,使用属性时无须在最右边加上括号,只有方法与函数需要加上括号。
a = Microwave('zhangsan')
print(a.name,a.time)
print(a.temp)
第一行代码使用类Microwave创建对象a,此时对象a会具有执行初始化方法_init__0)后的属性信息。
第2行代码输出对象a的属性name和time。
第3行代码输出对象a的属性temp,但由于属性temp在类的定义中并不属于__iiit__)初始化方法,它是
在bread()方法中创建的,因此a.temp无法直接获取对象a的属性temp。
2.初始化其他方法
在类的定义中,__init__()初始化方法也可以调用类中定义的其他方法
import time
class Microwave():
'''微波炉类的文档说明'''
def __init__(self,name):
self.name=name
self.time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
self.bread(10)
def print_info(self):
print(' 微波炉的名字是:',self.name,'\n','购买时间是:',self.time)
def bread (self,temp=3):
self.temp = temp
print(" 开始烤面包,时长为:",self.temp,'分钟')
pass
类Microwave的__init__()初始化方法中的self.bread)表示执行类Microwave中的bread0方
在初始化类的同时也执行了bread()方法,即可获取self.temp属性信息。
注意类中的任意方法都可以调用类中的其他方法,不仅限于一init.(/方法。类中的方法在调用类中的其他方法时的使用形式se1f.方法名(参数),其中self表示调用的方法是类自己的。
3.属性的修改
a = Microwave('zhangsan')
a.name = 'lisi'
a.time = '2022年6月7日'
print(a.name,a.time)
代码直接对属性name和time进行新的赋值,是新值覆盖原来的值,执行代码后输出的啊对属性值与原来类中的属性值不同,结果为:
lisi 2022年6月7日
4.获取类的文档说明
获取类的文档说明可以使用__doc__属性实现。
a = Microwave('zhangsan')
print(a.__doc__)
#运行结果为:微波炉类的文档说明
3.类的继承
1.类的继承方式
在创建新类时,class后面的括号用于继承父类且不接收参数,新类继承父类形式如下:
class 子类名(父类名):
def __init__(self,子参数:
super().__init__(父参数)
代码块
def 方法1()....
使用继承方法创建新类的形式与直接创建新类的形式有以下两点区别。
1.新类中子类名后面的括号中需要写入父类名,表明该新类继承自哪个父类,且父类的代码必须要写在子类的前面,否则程序找不到父类继承
2.在新类初始化方法中,代码块的首行需要加入super().__class子类名__(父参数),用于表明将父类中的属性和方法与新类关联起来。
在使用类的继承方式时需要注意以下两点。
1.通过子类创建的对象可以使用子类和父类中的所有属性和方法。
2.通过父类创建的对象只能使用父类中的属性和方法,而不能使用子类中的属性和方法
示例代码(错误地使用类):
import time
class Microwave():
'''微波炉类的文档说明'''
def __init__(self,name):
self.name=name
self.time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
def print_info(self):
print(' 微波炉的名字是:',self.name,'\n','购买时间是:',self.time)
def bread (self,temp=3):
self.temp = temp
print(" 开始烤面包,时长为:",self.temp,'分钟')
pass
class New_Microwave(Microwave):
'''从Microwave继承的子类'''
def __init__(self,name,light):
super().__init__(name)
self.light = light
a=Microwave('zhangsan')
print(a.light)
结果:
2.在子类中添加方法
子类不仅添加新的属性,还能添加新的方法,但是子类中新创建的方法无法在父类中使用,而父类中创建的方法可以在子类中使用。
class New_Microwave(Microwave):
'''从Microwave继承的子类'''
def __init__(self,name,light):
super().__init__(name)
self.light = light
def set_light(self,add_light):
self.light=self.light+add_light
print("当前灯光强度为:",self.light)
pass
a=New_Microwave('zhangsan',100)
a.set_light(50)
3.覆盖父类中的方法
当需要对父类中的方法进行修改、调整时,可以通过子类重新编写父类中的方法。在执行子类中的方法时会覆盖父类中的对应方法。
class New_Microwave(Microwave):
'''从Microwave继承的子类'''
def __init__(self,name,light):
super().__init__(name)
self.light = light
def print_info(self):
print(' 微波炉的名字是:',self.name,'\n','购买时间是:',self.time,'\n','当前灯光强度时:',self.light)
a=New_Microwave('zhangsan',100)
a.print_info()
# 运行结果: 微波炉的名字是: zhangsan
#购买时间是: 2025-07-08 21:17:16
#当前灯光强度时: 100
4.导入其他文件中的类
1.导入文件c
import 文件名
2 .导入文件中的指定类
form 文件名 import 类名
3. 导入全部类
form 文件名 import *
4.设置别名
form 文件名 import 类名 as 别名
5.在类中使用另一个类
有三个文件
e.py
class Bluetooth():
'''用于连接手机蓝牙'''
def __init__(self, yorn):
self.yorn = yorn
def con(self):
if self.yorn == 'y':
print('开始连接手机蓝牙')
elif self.yorn == 'n':
print('断开手机蓝牙')
else:
print('设置错误')
f.py
import time
import e
class Microwave():
'''微波炉类的文档说明'''
def __init__(self, name):
self.name=name
self.time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
def print_info(self):
print(' 微波炉的名字是:',self.name,'\n','购买时间是:', self.time)
def bread (self, temp=3):
self.temp = temp
print(" 开始烤面包,时长为:", self.temp,'分钟')
pass
def con_bluetooth(self, yorn):
bluetooth = e.Bluetooth(yorn)
bluetooth.con()
g.py
import f
a = f.Microwave('zhangsan')
a.print_info()
a.con_bluetooth('y')
该代码为主程序代码,其中第行代码使用c.py代码文件中的类Microwave创建一个微波炉对象a第三行代码使用了类Microwave中的print_info()方法。第4行代码使用了类/icrowave中conbluetootho()方法,传递字符为‘y',表示需要连接蓝牙。
运行结果为:
微波炉的名字是: zhangsan
购买时间是: 2025-07-08 21:39:26
开始连接手机蓝牙

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)