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

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

一、类的基本概念

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

二、类的使用方法

Bash
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”,大概就是方法定义或者调用不正确

三、修改类的属性及定义方法

(一)直接修改属性的值

Bash
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

Bash
class Car():
    def __init__(self,make,mode,year):
        self.make=make
        self.mode=mode
        self.year=year
        self.this_year=2018#增加变量
Bash
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)+'万'

这样就可以在方法调用时,传入参数,改变年份

Bash
my_car=Car('宝马',"X700",2022)
my_car.this_year=2024#在调用函数时,传入参数2024

(二)通过定义方法修改属性的值

Bash
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):

Bash
my_car=Car('宝马',"X700",2022)
my_car.mod_this_year(2025)#在调用方法时传入参数2025

在调用方法时传入参数

相关文章

Python技巧:列表(list)和字典(dict)排序合集

排序一直是日常编程中的有用工具。因此,写下此文,跟大家一起交流经验。list排序基本上,你可以使用sort或sorted实现对list的排序。之间的差异是,sort是直接修改列表中的列表方法,而sor...

Python标识符命名最佳实践

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

「小白学Python」Python编码规范

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

Java程序员,一周Python入门:数据类型、变量、字符串和字符编码

Java程序员,一周Python入门:数据类型、变量、字符串和字符编码对比学习Java 和 Python 在数据类型、变量管理、字符串处理等方面有很大的区别,下面进行详细对比。1. 数据类型和变量1....

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

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