软件测试/测试开发丨Python 面向对象编程思想

面向对象是什么

  • Python 是一门面向对象的语言
  • 面向对象编程(OOP):Object Oriented Programming

所谓的面向对象,就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法,我们如何通过调用这些实体的属性和方法去解决问题。

两种编程思想

  • 面向过程

    • 一种以过程为中心的编程思想
    • 首先分析解决问题所需要的步骤
    • 然后用函数将这些步骤一步一步的实现
    • 最后按顺序依次调用运行
  • 面向对象

    • 是一种更符合我们人类思维习惯的编程思想
    • 面向对象开发就是不断的创建对象,使用对象,操作对象做事情
    • 可以将复杂的事情简单化

类与对象

  • 类(class): 用来描述具有相同的属性和方法的对象的集合。它定义了集合中每个对象所共有的属性和方法。
  • 对象(object):也称为类的实例,是一个具体存在的实体。

类的定义

  • class 关键字
# 语法
class 类名(父类名):"""类的帮助信息"""属性方法
# class_def.py# 类的声明
class Human(object):"""人类"""# 定义属性(类属性)message = "这是类属性"# 通过类访问类属性
print(Human.message)

类的方法

  • 实例方法

    • 构造方法
  • 类方法

  • 静态方法

构造方法与实例化

  • 作用:实例化对象
  • 语法:def __init__(self, 参数列表)
  • 访问:类名(参数列表)
# constructor_method.pyclass Human:# 定义属性(类属性)message = "这是类属性"# 构造方法def __init__(self, name, age):# 实例变量self.name = nameself.age = ageprint("这是构造方法")# 实例化对象
person = Human("哈利波特", 12)# 通过实例访问类属性
print(person.message)# 通过实例访问实例属性
print(person.name)
print(person.age)

实例方法

  • 作用:提供每个类的实例共享的方法
  • 语法:def 方法名(self, 参数列表)
  • 访问:实例.方法名(参数列表)
# instance_method.pyclass Human:# 实例方法def study(self, course):print(f"正在学习{course}")# 实例化
person = Human()# 通过实例访问实例方法
person.study("python")

类方法

  • 作用:可以操作类的详细信息
  • 语法:@classmethod
  • 访问:类名.类方法名(参数列表)
  • 类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量
# class_method.pyclass Human:# 类属性population = 0# 类方法@classmethoddef born(cls):print("这是类方法")cls.population += 1# 通过类名访问类方法
Human.born()
print(Human.population)

静态方法

  • @staticmethod
  • 类的静态方法中无法调用任何类属性和类方法。
# static_method.pyclass Human:# 静态方法@staticmethoddef grow_up():print("这是静态方法")# 通过类名访问静态方法
Human.grow_up()

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/227879.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ONE·MySQL || 数据类型 表的约束】

总言 主要内容:介绍MySQL中的常见数据类型(数值类型、文本二进制类型、时间日期、字符串类型),以及对表的约束(非空约束、默认约束、列描述、零填充约束、自增长约束、主键约束、唯一键约束、外键约束)。  …

x-cmd pkg | openssl - 密码学开源工具集

目录 简介首次用户技术特点竞品分析进一步阅读 简介 OpenSSL 是一个开源的密码库和 SSL/TLS 协议实现,它提供了一组密码学工具和加密功能,用于保护数据通信的安全性。项目发展历史可以追溯到 1998 年,源自 Eric A. Young 和 Tim J. Hudson 开…

Python 网络编程之搭建简易服务器和客户端

用Python搭建简易的CS架构并通信 文章目录 用Python搭建简易的CS架构并通信前言一、基本结构二、代码编写1.服务器端2.客户端 三、效果展示总结 前言 本文主要是用Python写一个CS架构的东西,包括服务器和客户端。程序运行后在客户端输入消息,服务器端会…

计算机视觉技术-目标检测数据集

目标检测领域没有像MNIST和Fashion-MNIST那样的小数据集。 为了快速测试目标检测模型,我们收集并标记了一个小型数据集。 首先,我们拍摄了一组香蕉的照片,并生成了1000张不同角度和大小的香蕉图像。 然后,我们在一些背景图片的随机…

【网络安全】网络隔离设备

一、网络和终端隔离产品 网络和终端隔离产品分为终端隔离产品和网络隔离产品两大类。终端隔离产品一般指隔离卡或者隔离计算机。网络隔离产品根据产品形态和功能上的不同,该类产品可以分为协议转换产品、网闸和网络单向导入产品三种。 图1为终端隔离产品的一个典型…

46、激活函数 - Relu 激活

本节介绍一个在神经网络中非常常见的激活函数 - Relu 激活函数。 什么是ReLU激活函数 ReLU 英文名为 Rectified Linear Unit,又称修正线性单元,是一种简单但很有效的激活函数,它的定义如下: 即当输入 x 大于零时,输出等于他自己;当输入小于等于零时,输出为零,下面是re…

迭代归并:归并排序非递归实现解析

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《数据结构&算法》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 📋 前言 归并排序的思想上我们已经全部介绍完了,但是同时也面临和快速排序一样的问题那就是递…

【Python】requests库在CTFWeb题中的应用

目录 ①Bugku-GET ②Bugku-POST ③实验吧-天下武功唯快不破 ④Bugku-速度要快 ⑤Bugku-秋名山车神 ⑥Bugku-cookies ①Bugku-GET import requestsresprequests.get(urlhttp://114.67.175.224:12922/,params{what:flag}) print(resp.text)//或者 //resprequests.get(urlht…

Quartus的Signal Tap II的使用技巧

概述: Signal Tap II全称Signal Tap II Logic Analyzer,是第二代系统级调试工具,它集成在Quartus II软件中,可以捕获和显示实时信号,是一款功能强大、极具实用性的FPGA片上调试工具软件。 传统的FPGA板级调试是由外接…

鸿蒙操作系统:从手机到物联网,打造全场景智能体验

随着科技的不断发展,人们对于操作系统的需求也在不断升级。鸿蒙操作系统,作为华为推出的新一代智能终端操作系统,凭借其强大的分布式能力、流畅的用户体验以及丰富的应用生态,正逐渐成为人们关注的焦点。 一、鸿蒙操作系统概述 …

Redisson依赖冲突记录

前言&#xff1a;项目使用的springboot项目为2.7.X 依赖冲突一&#xff1a;springboot 与 redisson版本冲突 项目中依赖了 Lock4j&#xff0c;此为苞米豆开源的分布式锁组件 <dependency><groupId>com.baomidou</groupId><artifactId>lock4j-redisso…

IP地址的四大类型:动态IP、固定IP、实体IP、虚拟IP的区别与应用

在网络通信中&#xff0c;IP地址是设备在互联网上唯一标识的关键元素。动态IP、固定IP、实体IP和虚拟IP是四种不同类型的IP地址&#xff0c;它们各自具有独特的特点和应用场景。 1. 动态IP地址&#xff1a; 动态IP地址是由Internet Service Provider&#xff08;ISP&#xff…

详解Keras3.0 Layer API: LSTM layer

LSTM layer 用于实现长短时记忆网络&#xff0c;它的主要作用是对序列数据进行建模和预测。 遗忘门&#xff08;Forget Gate&#xff09;&#xff1a;根据当前输入和上一个时间步的隐藏状态&#xff0c;计算遗忘门的值。遗忘门的作用是控制哪些信息应该被遗忘&#xff0c;哪些…

Pycharm2023版本:Python远程调试配置详解

工欲善其事&#xff0c;必先利其器 首先你需要选择一个专业版本的pycharm&#xff0c;社区版本不支持远程配置功能&#xff0c;专业版下载地址&#xff1a;Pycharm 2023 双击程序进行安装&#xff0c;30天内免费试用&#xff0c;如果想要永久使用&#xff0c;办法你懂的&…

中职网络安全Server2002——Web隐藏信息获取

B-2&#xff1a;Web隐藏信息获取 任务环境说明&#xff1a; 服务器场景名&#xff1a;Server2002&#xff08;关闭链接&#xff09;服务器场景用户名&#xff1a;未知 有问题需要环境加q 通过本地PC中渗透测试平台Kali使用Nmap扫描目标靶机HTTP服务子目录&#xff0c;将扫描子…

电脑忘记开机密码很着急?一招搞定

前言 本教程适合没有登录微软账号的电脑哦&#xff5e; 随着手机越智能&#xff0c;人们花在电脑上的时间越来越少了。你家的电脑多久没开机了&#xff1f; 小伙伴有没有这样的经历&#xff1a;很久没有打开过电脑的你&#xff0c;突然有一天打开了电脑&#xff0c;却想不起…

阿里云OpenSearch-LLM智能问答故障的一天

上周五使用阿里云开放搜索问答版时&#xff0c;故障了一整天&#xff0c;可能这个服务使用的人比较少&#xff0c;没有什么消息爆出来&#xff0c;特此记录下这几天的阿里云处理过程&#xff0c;不免让人怀疑阿里云整体都外包出去了&#xff0c;反应迟钝&#xff0c;水平业余&a…

Postman接口测试工具使用

一、前言 在前后端分离开发时&#xff0c;后端工作人员完成系统接口开发后&#xff0c;需要与前端人员对接&#xff0c;测试调试接口&#xff0c;验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致&#xff0c;任何一方的进度跟不上&#xff0c;都无法及…

LV.13 D7 交叉编译工具链 学习笔记

一、交叉编译 1.1 编译原理 机器码&#xff08;二进制&#xff09;是处理器能直接识别的语言&#xff0c;不同的机器码代表不同的运算指令&#xff0c;处理器能够识别哪些机器码是由处理器的硬件设计所决定的&#xff0c;不同的处理器机器码不同&#xff0c;所以机器码不可移植…

设计模式——适配器模式(Adapter Pattern)

概述 适配器模式可以将一个类的接口和另一个类的接口匹配起来&#xff0c;而无须修改原来的适配者接口和抽象目标类接口。适配器模式(Adapter Pattern)&#xff1a;将一个接口转换成客户希望的另一个接口&#xff0c;使接口不兼容的那些类可以一起工作&#xff0c;其别名为包装…