苦练Python第47天:一文吃透继承与多继承🧬 继承的本质:把公共代码薅出来复用1234567891011class Animal: # 父类(基类) def __init__(self, name): self.name = name def speak(self): return "???"class Dog(Animal): # 子类(派生类) def speak(self): return f"{self.name}: 汪汪!">>> d = Dog("旺财")>>> d.speak()旺财: 汪汪!
结论:子类自动拥有父类所有公共属性和方法。
注意:Python 默认所有方法都是 virtual(C++ 术语),想重写就重写。
🔁 方法重写 & 扩展:子类想加料怎么办?1234567class Cat(Animal): def ...
为什么那么多测试开发选择python语言
语言特性:Python 的设计哲学非常适合写测试代码
1. 语法简洁、可读性强
测试代码往往需要频繁修改和维护,简洁的语法可以大大提升编写效率和团队协作。
没有繁琐的类型声明(动态类型),适合快速写出验证逻辑。
1# 示例:一个简单的 API 测试函数def test_login_api(): response = requests.post("/login", json={"username": "test", "password": "123456"}) assert response.status_code == 200 assert "token" in response.json()
✅ 对比 Java 或 C#,用 Python 写同样的测试逻辑要少很多样板代码。
2. 强大的标准库
12345Python 自带丰富的标准库,比如:os, sys:处理文件系统与路径json, ...
字典8大必杀技🧠 字典热身回顾字典的本质就是 键值对:
键必须唯一且不可变(字符串、数字、元组等)
值想放啥就放啥
12345user = { "name": "Alice", "age": 30, "city": "Paris"}
🔍 1. get(key[, default]) —— 安全取值不翻车123print(user.get("age")) # 30print(user.get("email")) # Noneprint(user.get("email", "N/A")) # N/A
✅ 当键不存在时,直接返回 None 或你指定的默认值,程序再也不会因为 KeyError 崩溃。
➕ 2. update(other_dict) —— 一键合并/覆盖123user.update({& ...
苦练Python第48天:类的私有变量“防身术”,把秘密藏进类里!🧐 为什么需要“藏起来”?在 Python 里,属性默认全是 public,就像把银行卡密码贴在额头上——谁都能改。当你写了一个类给别人用:
123class Person: def __init__(self, money): self.money = money # 公有,谁都能动
用户小手一抖:
12p = Person(100)p.money = -999999 # 余额瞬间蒸发
于是我们需要“私有变量”——给属性加一把锁,让外部“看不见、摸不着”。
🔒 第一招:单下划线 _ ——约定俗成Python 没有真正的 private,但社区有默契:带一个下划线的变量,请把它当私有,别直接碰!
123class Wallet: def __init__(self, cash): self._cash = cash # 内部使用,外部别摸
外部依旧能访问,但 IDE 会画波浪线提醒你:
12w = Wallet(50)print(w._cas ...
编程开发
未读零基础学习Python指南核心理念:
动手实践是王道: 光看不动手永远学不会编程。务必边学边敲代码!
不要怕犯错: 错误(Bug)是学习过程中最好的老师。遇到报错是常态,学会看错误信息并解决它。
循序渐进: 不要试图一口吃成胖子。从基础语法开始,逐步深入。
保持好奇和兴趣: 找到自己感兴趣的小项目去实践,动力会更足。
📌 阶段一:准备与入门 (1-2天)
理解Python是什么:
网站开发 (Django, Flask)
数据分析与可视化 (NumPy, Pandas, Matplotlib, Seaborn)
人工智能与机器学习 (Scikit-learn, TensorFlow, PyTorch)
自动化脚本 (处理文件、发送邮件、网页抓取等)
科学计算
游戏开发 (Pygame)
桌面应用 (PyQt, Tkinter)
一种解释型、高级、通用的编程语言。
特点: 语法简洁清晰,像读英语句子;可读性强;拥有庞大且活跃的社区和丰富的第三方库(工具包)。
能做什么?
安装Python:
打开 命令提示符 (Windows) 或 **终端 (macOS/Linux ...
一天一个Python知识点——Day 31:面向对象编程概念🎯学习目标理解面向对象编程(OOP)的基本思想,掌握类、对象、封装、继承和多态等核心概念,为后续深入学习Python面向对象编程打下基础。
📖核心知识点
什么是面向对象编程?
一种编程范式,将数据和处理数据的方法组织为”对象”
与现实世界建模方式相似,更容易理解和维护复杂程序
主要特点:封装、继承、多态
核心概念解析
**类(Class)**:对象的蓝图或模板,定义对象的属性和方法
12class Dog: # 类定义 pass
**对象(Object)**:类的实例,具有实际的数据和行为
1my_dog = Dog() # 创建对象
**属性(Attributes)**:对象的状态或数据
123class Dog: def __init__(self, name): # 初始化方法 self.name = name # 实例属性
**方法(Methods)**:对象的行为或功能
123class Dog: def bark(self): # 方法定义 ...
elasticsearch 8.0 centos8安装部署https://blog.csdn.net/persistence_PSH/article/details/124760748
elasticsearch 8.0官方下载地址:
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-0-0
选择 LINUX X86_64
解压安装包
tar -zxvf elasticsearch-8.0.0-linux-x86_64.tar.gz
移动到指定文件夹
mv elasticsearch-8.0.0 /usr/local/elasticsearch-8.0
进入指定文件夹
cd /usr/local/elasticsearch-8.0/
新建data和log文件夹用于存放数据
mkdir data
mkdir log
进入config文件夹
cd config/
修改elasticsea ...
一篇搞懂Tomcat ,运维小白也能轻松上手!tomcat使用• 前置知识-
• tomcat概念
• tomcat作用
• 安装部署tomcat
• 环境信息
• 安装jdk
• 安装tomcat
• 启动tomcat
• tomcat目录结构
• bin目录
• conf目录
• logs目录
• webapps目录
• 案例:部署zrlog应用
• tomcat部署多实例
• 背景
• 部署步骤
前置知识tomcat概念Tomcat是由Java编写的一个开源的、轻量级的应用服务器,是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)等Java技术,用于支持在Java平台上运行的动态Web应用程序。Tomcat的全名是Apache Tomcat。
tomcat作用Tomcat 是一个开源的 Java Servlet 容器,主要用于运行 Java Web 应用程序。
运行 Java Web 应用程序
• Servlet 和 JSP 支持Tomca ...
编程开发
未读Tomcat部署全攻略:6种方式从入门到自动化,运维工程师必收藏作为Linux运维工程师,Tomcat部署是一定会遇到的基础操作。
今天,梳理一遍Tomcat的6种部署之路,从新手级的手动操作到运维级的自动化部署,每种方式的实操步骤、优缺点和适用场景都讲透,看完直接套用!
一、新手入门:传统WAR包拷贝部署(webapps目录)
这是最经典也最基础的部署方式,几乎所有运维新手的第一次Tomcat部署都是从这里开始的。实操步骤:
准备好项目的WAR包(如myapp.war),确保包内目录结构完整(WEB-INF、classes等核心目录齐全);
进入Tomcat安装目录,找到核心部署目录apache-tomcat-9.0/webapps/;
直接将myapp.war拷贝到webapps目录下;
启动Tomcat(执行bin/startup.sh),Tomcat会自动解压WAR包为myapp文件夹并完成部署;
验证:浏览器访问 http://服务器IP:8080/myapp,能正常访问则部署成功。
优点:零配置、操作简单,适合单机 ...
编程开发
未读自动化测试的 4 个层次自动化测试4 大层次
华测教育 - 三丰老师
学习目标自动化测试能力的差异,本质是价值创造层级的差异。
更高的等级意味着你能解决更复杂的问题,承担更重要的职责,从而创造更大的价值。
认知升级:跳出“会不会写代码脚本”的层面,从“解决问题的效率、规模和可持续性”来理解自动化等级。
自我定位:明确自己所在的位置以及下一个里程碑是什么。
规划路径:将模糊的“提升技术”转化为具体的阶段性目标
菜鸟级:工具使用者核心特征:熟练使用现有工具(如 Apifox、Postman、 Selenium IDE、 Jmeter等等)来执行预设流程。关注点是“如何操作这个工具来完成测试”。
能力画像
能够录制/回放,或根据简单脚本模板修改用例。
依赖于图形化界面。
价值与瓶颈:
价值:在稳定的场景下,能替代部分重复手工劳动,是自动化的起点。
瓶颈:
无法 100% 契合项目需求
无法应对复杂逻辑(加解密、数据库绑定等等特殊场景)。
技能与特定工具绑定,工具变更则技能归零(很难为你面试跳槽加分);
阶段总结:
此阶段是“知 ...
