一天一个Python知识点——Day 5: 列表(List)基础操作列表(List)是Python中最灵活的有序集合类型,可以存储任意类型的元素,并且支持动态修改。今天我们将全面学习列表的核心操作!
列表的创建
列表用方括号[]表示,元素之间用逗号分隔:
123456# 创建空列表empty_list = []# 创建带初始值的列表numbers = [1, 2, 3, 4, 5]mixed = [1, "hello", 3.14, True] # 可以混合不同类型nested = [[1, 2], [3, 4]] # 嵌套列表
特殊创建方式:
1234# 使用list()构造函数chars = list("Python") # ['P', 'y', 't', 'h', 'o', 'n']# 列表推导式(后续会详细讲解)squares = [x**2 for x in range(5)] # [0, 1, ...
为什么那么多测试开发选择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, ...
编程开发
未读Python自学顺序Python自学顺序,千万莫本末倒置了!
Python自学顺序,千万不能弄反了,否则事倍功半,收获甚微。下面我们来看看正确的顺序是怎么样呢?
第一步:工具安装,环境搭建;
第二步:基础语法,磨炼功底;
第三步:高级编程,雷打基础;
第四步:web框架,样样精通;
Web 应用程序的顶级Python 框架:Reflex、Django、Flask、Gradio、Streamlit、Dash、FastAPI
第五步:网络爬虫,神奇有趣;
网络爬虫的11个高效的Python网络爬虫工具,包括Requests、BeautifulSoup、Scrapy、Selenium、PyQuery、Lxml、Pandas、Pyppeteer、aiohttp、Faker和ProxyPool。
1、Requests 是一个非常流行的HTTP库,用于发送HTTP请求。它简单易用,功能强大,是爬虫开发中不可或缺的工具。
2、BeautifulSoup 是一个用于解析HTML和XML文档的库,非常适合提取网页中的数据。
3、Scrapy 是一个非常强大的爬虫框架,适用于大规模的数据抓取任务。它提供了 ...
苦练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 ...
字典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方法(self参数理解)🎯学习目标深入理解Python方法中self参数的作用和意义,掌握实例方法、类方法和静态方法的区别,学会正确使用不同类型的方法。
📖核心知识点self参数的本质
12345678910class Person: def __init__(self, name): self.name = name # 实例方法:第一个参数必须是self,表示对象本身 def introduce(self): return f"我叫{self.name}" # 实际上Python是这样调用的: # person.introduce() 等价于 Person.introduce(person)
三种方法类型对比
1234567891011121314151617181920212223class Calculator: # 类属性 PI = 3.14159 def __init__(self, brand): self.brand = b ...
编程开发
未读零基础学习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): # 方法定义 ...
编程开发
未读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,能正常访问则部署成功。
优点:零配置、操作简单,适合单机 ...
