Python自动化办公自学笔记(九)类(class)
一、类的基本概念
类是指具有相同属性和方法的一组对象
二、类的使用方法
class Car():#创建一个类,名称为Car,通常按规范类的名称首字母要大写
#******汽车估值程序模拟*******
def __init__(self,make,mode,year):#当类Car被创建一个对象时,Python会自动执行该方法
self.make=make#可通过对象访问的变量称为属性
self.mode=mode
self.year=year
这里创建了一个类,需要注意的是__init__方法,init前后的下划线分别都是两个,这里较容易出错,报的错误信息是“TypeError: Car() takes no arguments”,大概就是方法定义或者调用不正确
三、修改类的属性及定义方法
(一)直接修改属性的值
def detection(self):
duration=2025-self.year
price=30-2*duration
dscrption='你的'+self.make+self.mode+'到目前已经行驶了'\
+str(duration)+'年','目前价值'+str(price)+'万'
当我们需要把上面第2行代码的里面的2025改成其他年份时,可以在init方法里面增加内容:self.this_year=2025
class Car():
def __init__(self,make,mode,year):
self.make=make
self.mode=mode
self.year=year
self.this_year=2018#增加变量
def detection(self):
duration=self.this_year-self.year#这里原本的固定值2025更改为self.this_year
price=30-2*duration
dscrption='你的'+self.make+self.mode+'到目前已经行驶了'\
+str(duration)+'年','目前价值'+str(price)+'万'
这样就可以在方法调用时,传入参数,改变年份
my_car=Car('宝马',"X700",2022)
my_car.this_year=2024#在调用函数时,传入参数2024
(二)通过定义方法修改属性的值
class Car():
def __init__(self,make,mode,year):
self.make=make
self.mode=mode
self.year=year
def mod_this_year(self,new_year):#创建一个方法
self.this_year=new_year
在类里面再创建一个方法def mod_this_year(self,new_year):
my_car=Car('宝马',"X700",2022)
my_car.mod_this_year(2025)#在调用方法时传入参数2025
在调用方法时传入参数