星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

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

在调用方法时传入参数


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言