Python自动化办公自学笔记(九)类(class)

liftword1个月前 (04-22)技术文章30

一、类的基本概念

类是指具有相同属性和方法的一组对象

二、类的使用方法

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

在调用方法时传入参数


相关文章

Python标识符命名最佳实践

大家好,今天我们将继续学习Python的基础知识。这篇文章将重点介绍Python中标识符的相关内容。什么是标识符在Python中,标识符是用来区别开每个对象的对象名称。标识符由用户定义,主要用来给变量...

《Python编程:从入门到实践》练习2.1-练习2.8答案

练习题:(答案在文末)当然可以,以下是排版优化后的内容,更易读,也方便理解和执行每个练习:在完成下面的每个练习时,都应编写一个独立的程序,并将其保存到名称类似于 name_cases.py 的文件中。...

「小白学Python」Python编码规范

本文参考:嗨客网(www.haicoder.net)Python编码规范Python编码规范教程Python 采用 PEP 8 作为编码规范,其中 PEP 是 Python Enhancement P...

从0开始学Python你准备好了吗?第一章·第四课 安装python解释器!

上节课我们安装完成了VS Code ,我们的工具有了,但是还没有安装Python解释器(也叫代码执行器),现在我们写了代码,电脑不能阅读,无法执行,所以我们需要安装一个Python的解释器,下面来跟我...

python变量命名规则——来自小白的总结

python是一个动态编译类编程语言,所以程序在运行前不需要如C语言的先行编译动作,因此也只有在程序运行过程中才能发现程序的问题。基于此,python的变量就有一定的命名规范。python作为当前热门...