当前位置: 首页 > news >正文

测牛学堂:软件测试python深入之类和对象的属性和方法总结

类对象和实例对象

类对象就是我们定义的类。
在代码执行的时候,解释器会自动创建类对象。
类对象的作用:
1 使用类对象创建实例对象
2 存储类的一些特性,就是类里面定义的属性
创建对象的过程也称为实例化的对象。所以,类创建的对象也称为实例对象,简称实例。
一般我们说的对象,默认就是实例对象。而类对象,默认说是类。

实例属性和类属性注意事项

1类属性是在类的内部直接定义的,类属性是被该类的所有实例化对象共享的。
2实例的属性是每个对象特有的,通常是在类的init方法中设置的。 类属性很少使用。
3 实例对象使用属性的时候,会先在实例属性中查找,找不到再去类属性中查找,再找不到会报错。
4 在类中访问类属性,要用类名.属性名 获取
代码示例:

class Tool:num = 0def __init__(self, name):self.name = nameTool.num += 1tool1 = Tool('t1')
tool2 = Tool('t2')
print(tool1.name, tool1.num)

方法分类

方法分为实例方法,类方法,静态方法
1 实例方法:
如果方法中需要使用实例属性,一定要定义为实例方法。
2 类方法
方法中不需要使用实例属性,建议定义为类方法。语法:方法上写@classmethod,方法的参数写为cls,表示类对象。不需要传递,python会自动传类作为参数。
3 静态方法:
方法中既不需要实例属性,也不需要类属性,可以定义为静态方法。
语法:@staticmethod
注意:
实例和类都可以直接调用类方法和静态方法
代码示例:

class Tool:num = 0def __init__(self, name):self.name = name# 类方法@classmethoddef add(cls):cls.num += 1print(cls.num)# 静态方法@staticmethoddef staticFn():print('static')# 实例方法def showName(self):print(self.name)tool1 = Tool('t1')
tool1.showName()  # t1
tool1.staticFn()  # static
tool1.add()  # 1
Tool.add()  # 2
Tool.staticFn()  # static

相关文章:

测牛学堂:软件测试python深入之类和对象的属性和方法总结

类对象和实例对象 类对象就是我们定义的类。 在代码执行的时候,解释器会自动创建类对象。 类对象的作用: 1 使用类对象创建实例对象 2 存储类的一些特性,就是类里面定义的属性 创建对象的过程也称为实例化的对象。所以,类创建的对…...

css实例--新闻页面

实现效果 实现代码 html代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" co…...

SpringCloudGateway 动态转发后端服务

API网关的核心功能是统一流量入口&#xff0c;实现路由转发&#xff0c;SpringCloudGateway是API网关开发的技术之一&#xff0c;此外比较流行的还有Kong和ApiSix&#xff0c;这2个都是基于OpenResty技术栈。 简单的路由转发可以通过SpringCloudGateway的配置文件实现&#xf…...

使用canvas写一个flappy bird小游戏

简介 canvas 是HTML5 提供的一种新标签&#xff0c;它可以支持 JavaScript 在上面绘画&#xff0c;控制每一个像素&#xff0c;它经常被用来制作小游戏&#xff0c;接下来我将用它来模仿制作一款叫flappy bird的小游戏。flappy bird&#xff08;中文名&#xff1a;笨鸟先飞&am…...

KVM-2、虚拟化基础

1. 虚拟化概念 什么是虚拟化 **虚拟化是使用所谓虚拟机管理程序从一台物理机上创建若干个虚拟机的过程。**虚拟机的行为和运转方式与物理机一样,但它们会使用物理机的计算资源,如 CPU 、内存和存储。虚拟机管理程序会根据需要将这些计算资源分配给每个虚拟机。 虚拟化有哪…...

设计模式之观察者模式与访问者模式详解和应用

目录1.访问者模式详解1.1 访问者模式的定义1.1.1 访问者模式在生活中的体现1.1.2 访问者模式的适用场景1.2 访问者模式的通用实现1.3 访问者模式的使用案例之KPI考核1.3.1 类图设计1.3.2 代码实现1.4 访问者模式扩展---分派1.4.1 java中静态分派示例代码1.4.2 java中动态分派1.…...

[SSD固态硬盘技术 18] Over-Provisioning (OP 预留空间)详解,谁“偷”走了SSD的容量?

</...

spring注解方式整合Dubbo源码解析

系列文章目录 前言 本节我们的Dubbo源码版本基于2.6.x 在前一章我们的整合案例中&#xff0c;我们有几个比较关键的步骤&#xff1a; 在启动类上标注了EnableDubbo注解在provider类上面标注了Service注解来提供dubbo服务在消费的时候通过Reference注解引入dubbo服务在配置文件…...

大数值金额大写转换(C语言)

关于大数值金额大写转换&#xff0c;在财务管理的应用方面没什么意义。一般来说&#xff0c;千亿级&#xff0c;万亿级的数值就够了。因为在国家级层面是以亿为单位的&#xff0c;也就表达为千万亿&#xff0c;万万亿。在企业层面数值金额转换设置到千亿、万亿就行了。大的集团…...

迷宫问题图解 : 基于骨架提取、四邻域

目录 1. 迷宫的连通域 2. How to remove branch &#xff1f; 3. 基于4邻域的 remove 分支 3.1 找到分支的端点 3.2 4邻域的 remove 分支 3.3 循环移除分支 3.4 code 4. 迷宫路线 4.1 预处理 4.2 提取骨架 4.3 分支的端点 4.4 去除分支的端点 4.5 循环去除分支 4…...

设计模式 - 如何在库和主程序之间互相调用数据和函数

背景&#xff1a;在项目开发过程中&#xff0c;难免碰到这种情况&#xff0c;当我们想要通过我们开发的库&#xff0c;调用主程序中的一些变量或者函数的时候&#xff0c;就会导致一些问题&#xff0c;因为在项目构建过程中&#xff0c;库都是不依赖于主程序编译的&#xff0c;…...

Redis面试题:1~2亿条数据需要缓存,请问如何设计这个存储案例

目录 前言 一、哈希取余分区 优点 缺点 二、一致性哈希算法分区 背景 步骤 ① 算法构建一致性哈希环 ② 服务器IP节点映射 ③ key落到服务器的落键规则 优点 ① 容错性 ② 扩展性 缺点 三、哈希槽分区 前言 单机单台100%不可能&#xff0c;肯定是分布式存储&am…...

程序员必备的软技能-《如何阅读一本书》

阅读很重要&#xff0c;我们真的会阅读吗&#xff1f; 这本书的初版是 1940年&#xff0c;时隔 80年&#xff0c;其内容仍然不过时。第一次读这本书时&#xff0c;给我最大的影响就是主题阅读&#xff0c;每次学习一个新理论、技术&#xff0c;都入手多本关于这项理论、技术的书…...

Java数据结构-栈、队列常用类(Stack、ArrayDeque、LinkedLList)

数据结构的三要素包括&#xff1a;逻辑结构、存储结构、数据的运算。逻辑结构描述的是数据之间的逻辑关系&#xff0c;分为线性结构&#xff08;线性表&#xff08;数组、链表&#xff09;、栈、队列&#xff09;和非线性结构&#xff08;图、树、集合&#xff09;。物理结构也…...

拯救了大批爬虫程序员,因为一个简单的神器

相信大家应该都写过爬虫&#xff0c;简单的爬虫只需要使用 requests 即可。遇到复杂的爬虫&#xff0c;就需要在程序里面加上请求头和参数信息。类似这种&#xff1a;我们一般的步骤是&#xff0c;先到浏览器的网络请求中找到我们需要的请求&#xff0c;然后将请求头和参数信息…...

2023年美赛C题Wordle预测问题三、四建模及Python代码详细讲解

更新时间:2023-2-19 16:30 相关链接 &#xff08;1&#xff09;2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 &#xff08;2&#xff09;2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 &#xff08;3&#xff09;2023年美赛C题Wordle预测问题三、四建模…...

相关性-回忆录(持续更新)

1.TODO方向 &#xff08;1&#xff09;数据增强&#xff1a;finetuning阶段需要大量人工标注样本&#xff0c;消耗时间和成本。用户点击数据作为弱监督学习&#xff0c;可以尝试图网络构建节点和边&#xff08;query聚合&#xff09;&#xff1b; 使用展现未点击生成对抗网络进…...

(必备技能)使用Python实现屏幕截图

(必备技能)使用Python实现屏幕截图 文章目录 (必备技能)使用Python实现屏幕截图 一、序言二、环境配置 1、下载pyautogui包2、下载opencv-python包3、下载PyQt5包4、下载pypiwin32包 三、屏幕截屏源码与解析 1、使用pyautogui方法实现截屏2、使用PyQt方法实现截屏 a.获取窗口…...

「数据仓库」怎么选择现代数据仓库?

构建自己的数据仓库时要考虑的基本因素我们用过很多数据仓库。当我们的客户问我们&#xff0c;对于他们成长中的公司来说&#xff0c;最好的数据仓库是什么时&#xff0c;我们会根据他们的具体需求来考虑答案。通常&#xff0c;他们需要几乎实时的数据&#xff0c;价格低廉&…...

6.3 使用 Swagger 生成 Web API 文档

第6章 构建 RESTful 服务 6.1 RESTful 简介 6.2 构建 RESTful 应用接口 6.3 使用 Swagger 生成 Web API 文档 6.4 实战&#xff1a;实现 Web API 版本控制 6.3 使用 Swagger 生成 Web API 文档 高质量的 API 文档在系统开发的过程中非常重要。本节介绍什么是 Swagger&#xff…...

Unity | AmplifyShaderEditor插件基础(第五集:简易膨胀shader)

一、&#x1f44b;&#x1f3fb;前言 大家好&#xff0c;我是菌菌巧乐兹~本节内容主要讲一下&#xff0c;如何用shader来膨胀~ 效果预览&#xff1a; 二、&#x1f4a8;膨胀的基本原理 之前的移动是所有顶点朝着一个方向走&#xff0c;所以是移动 如果所有顶点照着自己的方…...

win32相关(IAT HOOK)

IAT HOOK 什么是IAT Hook&#xff1f; IAT Hook&#xff08;Import Address Table Hook&#xff0c;导入地址表钩子&#xff09;是一种Windows平台下的API钩取技术&#xff0c;通过修改目标程序的导入地址表(IAT)来拦截和重定向API调用 在我们之前学习pe文件结构的导入表时&am…...

Java应用10(客户端与服务器通信)

Java客户端与服务器通信 Java提供了多种方式来实现客户端与服务器之间的通信&#xff0c;下面我将介绍几种常见的方法&#xff1a; 1. 基于Socket的基本通信 服务器端代码 import java.io.*; import java.net.*;public class SimpleServer {public static void main(String…...

Flask 基础与实战概述

一、Flask 基础知识 什么是 Flask? Flask 是一个基于 Python 的轻量级 Web 框架(微框架)。 特点:核心代码简洁,给予开发者更多选择空间。 与 Django 对比: Django 创建空项目生成多个文件,Flask 仅需一个文件即可实现简单应用(如 "Hello, World!")。 Flask …...

作为过来人,浅谈一下高考、考研、读博

写在前面 由于本人正在读博&#xff0c;标题中的三个阶段都经历过或正在经历&#xff0c;本意是闲聊&#xff0c;也算是给将要经历的读者们做个参考、排雷。本文写于2022年&#xff0c;时效性略有落后&#xff0c;不过逻辑上还是值得大家参考&#xff0c;若所述存在偏颇&#…...

算法练习-回溯

今天开始新的章节&#xff0c;关于算法中回溯法的练习&#xff0c;这部分题目的难度还是比较大的&#xff0c;但是十分锻炼人的思维与思考能力。 处理这类题目首先要注意几个基本点&#xff1a; 1.关于递归出口的设置&#xff0c;这是十分关键的&#xff0c;要避免死循环的产…...

日志收集工具-Filebeat

提示&#xff1a;windows 环境下 Filebeat 的安装与使用 文章目录 前言一、安装二、配置部署三、启动测试 前言 Filebeat 一般用于日志采集&#xff0c;由两部分组成 &#xff1a;Harvesters 和 prospector Harvesters采集器&#xff1a;逐行读取单个文件的内容&#xff0c;并…...

6.7本日总结

一、英语 复习默写list10list19&#xff0c;07年第3篇阅读 二、数学 学习线代第一讲&#xff0c;写15讲课后题 三、408 学习计组第二章&#xff0c;写计组习题 四、总结 本周结束线代第一讲和计组第二章&#xff0c;之后学习计网4.4&#xff0c;学完计网4.4之后开操作系…...

MATLAB实战:视觉伺服控制实现方案

以下是一个基于MATLAB的视觉伺服控制项目实现方案&#xff0c;结合实时图像处理、目标跟踪和控制系统设计。我们将使用模拟环境进行演示&#xff0c;但代码结构可直接应用于真实硬件。 系统架构 图像采集 → 目标检测 → 误差计算 → PID控制器 → 执行器控制 完整代码实现 …...

宝塔面板安装nodejs后,通过node -v获取不到版本号,报错node: command not found

如果在 宝塔面板 安装了 Node.js&#xff0c;但运行 node -v 或 npm -v 时提示 command not found&#xff0c;通常是因为 Node.js 的路径未正确添加到系统环境变量。以下是解决方法&#xff1a; 1. 确认 Node.js 是否安装成功 &#xff08;1&#xff09;检查宝塔面板的 Node.…...