python-第13-正则表达式
🎯 第一部分:正则表达式(re 模块)✅ 1. re 模块核心方法| 方法 | 功能 | 类比 || :— | :— | :— || re.match() | 从开头匹配 | 检查手机号是否以 1 开头 || re.search() | 查找第一个匹配项 | 在文章中找第一个邮箱 || re.findall() | 查找所有匹配项 | 提取文中所有 URL || re.split() | 根据模式分割字符串 | 用逗号把句子拆成词 || re.sub() | 替换匹配项 | 把电话号码中的横线换成空格 | 符号 意思 \S 非空格的字符(字母、数字、符号都算) \s 空格、换行、制表符等空白字符 \d 数字 0-9 + 前面的东西至少出现 1 次,越多越好 123456789101112131415161718192021import retext = "我的邮箱是 zhangsan@163.com,另一个是 lisi@qq.com"# 1. 找第一个邮箱email = re.search(r'\S+@\S+', t ...
python-第11-文件操作(文件的打开读写)
✅ 一、完整可运行示例 1234567891011121314151617181920212223242526272829303132333435import csvimport os# 准备数据:列表 of 列表(第一行为表头)csv_data = [ ['公司', '项目', '负责人'], ['天庭', '三界运营', '玉帝'], ['灵山', '西游取经', '如来佛祖']]csv_path = '西游项目故事.csv'try: # 写入 CSV 文件 with open(csv_path, mode='w', encoding='utf-8', newline='') as f: writer = csv.writer(f) writer.writerows(c ...
python-第11-文件操作(文件的打开读写)
12345678910111213141516171819202122232425file_content = '''第一行,一些示例文本;第二行,包含更多的信息第三行,这是文件的最后一行'''print("进行相应的I/O操作")file_path = 'example_中文文件名测试.txt'try: with open(file_path, mode='w', encoding='utf-8') as f: bytes_written = f.write(file_content) print(f"成功将{bytes_written}字节写入文件:'{file_path}'") # 逐行读取文件,'r'表示只读 with open(file_path, mode='r', enc ...
服务器CPU高、内存低排查
服务器CPU高、内存低排查-方案详解(通俗版)先明确核心前提:CPU高、内存低,和“内存高、CPU低”是反过来的问题——不是资源不够用,而是服务器在“拼命干活”(比如计算量大、循环异常、IO等待、锁竞争等)。 下面全程沿用“现象→原因→判断方法→解决方法(前因后果)”的逻辑,不绕弯、不堆砌命令,每一步都讲清“为什么这么做”。 一、先定性:CPU到底在“忙什么”(第一步必做)👉 核心判断手段:top命令(关键中的关键)直接在服务器输入 top 命令,重点看 %Cpu(s) 这一行,4个指标直接决定排查方向,不用记复杂命令,盯紧这一行就够了: us(用户态):程序自身运行消耗的CPU(比如Java、Python程序计算); sy(内核态):系统内核处理任务消耗的CPU(比如网络调用、文件操作); wa(IO等待):CPU没事干,一直在等磁盘/网络IO完成(看似CPU高,实则在“摸鱼”); id(空闲):CPU空闲率,越低说明CPU越忙(id<20%说明CPU已过载)。 ✅ 为什么先看这一步?很多人排查CPU高,一上来就找进程,反而绕弯路。先看这4个指标,能直接锁定“CP ...
服务器 内存占用高(CPU不高)排查
服务器内存占用高(CPU不高)排查-方案详解先明确核心前提:CPU不高、内存占用高,说明不是“计算量大”导致的,而是“内存没释放”“配置不合理”“程序有漏洞”这三类问题,下面逐点解释每一种情况的前因后果、命令含义,全程不绕弯。 一、缓存导致(最常见,不用慌)👉 先搞懂:为什么会出现这种情况?Linux系统有个“聪明机制”:把你最近访问过的文件、数据,存到内存的“缓存(buff/cache)”里,下次再访问时,不用从硬盘读(硬盘很慢),直接从内存读,提升速度。 所以出现 buff/cache 很大,但 available(可用内存)还很多,其实是正常的——系统在帮你“省时间”,这种内存占用不是“浪费”,也不会拖慢服务器。 ✅ 解决方法的前因后果(为什么这么做) 为什么说“不用动”? 因为缓存会“动态释放”:当你运行新的、耗内存的程序时,系统会自动把缓存里的空间腾出来,给新程序用,不用你手动干预,干预反而可能降低系统速度。 命令 sync; echo 3 > /proc/sys/vm/drop_caches 是什么意思? 前半部分 sync:把缓存里还没写到硬盘的数据, ...
python-第十课-面向对象 OOP 入门 —— 用代码模拟现实世界
核心速览表格概念 本质 生活类比类(Class) 图纸 / 模具 汽车的设计图纸对象(Object) 按图纸造出来的实物 按图纸造出来的某一辆具体的车属性 对象的特征 / 数据 车的品牌、颜色、速度方法 对象的行为 / 功能 车能开、能刹车 一、类与对象的基础写法 123456789101112131415161718192021运行# 【定义类】汽车的设计图纸class Car: # 构造函数:对象创建时自动执行,用来初始化属性 def __init__(self, brand, color): self.brand = brand # 品牌属性 self.color = color # 颜色属性 self.speed = 0 # 初始速度属性 # 方法:车的行为 def drive(self, speed): self.speed = speed print(f"{self.color} ...
python-第八课-函数式编程 ——filter 与 map 的高效用法
filter () 筛选 挑出符合条件的元素map () 映射 对每个元素都做一遍处理 123456even_numbers = list(filter(lambda x: x % 2 == 0,range(12)))print(f"使用lambda和filter筛选出的偶数为: {even_numbers}")numbers = [12, 21]squared_numbers = list(map(lambda x: x**2, numbers))print(f"使用lambda和Meta筛选出的数字平方数为: {squared_numbers}") 12345# 错误写法:{numbers}把整个列表变成了集合里的一个元素# squared_numbers = list(map(lambda x: x**2, {numbers}))# 正确写法:直接传列表本身squared_numbers = list(map(lambda x: x**2, numbers)) ...
python-第八课-*args 与 **kwargs 的灵活用法
123456789101112131415161718192021222324def analyze_data(main_value, *optional_values, **meta_data): """ 数据分析函数 :param main_value: 主要数据(必传) :param optional_values: 任意数量的额外数据 :param meta_data: 任意数量的元数据(key=value形式) """ print(f"主要值:{main_value}") # 如果有额外数据,就打印 if optional_values: print(f"可选值(元组):{optional_values}") # 如果有元数据,就遍历打印 if meta_data: print("元数据(字典):") for k ...
Python 第二课
📝 博客 2/4:元组(Tuple) + 字典(Dict)```markdown Python 基础笔记(2):元组与字典 📅 来啦 | ⏱️ 阅读时间:10分钟 一、元组(Tuple):不可变的列表元组用 () 表示,和列表很像,但创建后不能修改。 1.1 创建元组```python 普通元组point = (10, 20)colors = (“红”, “绿”, “蓝”) 单元素元组(必须有逗号!)single = (30,) # 注意这个逗号 空元组empty = () 括号可以省略no_parentheses = 1, 2, 3 # 也是元组 1.2 元组解包:一次性赋值这是元组最实用的功能!python 编辑 基本解包point = (10, 20)x, y = point # x=10, y=20 函数返回多个值def get_position(): return 100, 200 # 实际返回元组 x, y = get_position() # 直接解包 交换变量(经典技巧!)a, b = 1, 2a, b = b, a # a=2, b=1 高 ...
python-第七课-Lambda与装饰器
🎯 Lambda(匿名函数)核心思想:一张”即时填写的说明书” 12345# 格式:lambda 参数:表达式lambda x: x % 2 == 0 # 判断是否为偶数lambda x: x ** 2 # 求平方lambda a, b: a + b # 两数相加 使用示例 12345678910运行# 筛选偶数numbers = [1, 2, 3, 4, 5, 6]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(f"偶数:{even_numbers}") # [2, 4, 6]# 计算平方squared_numbers = list(map(lambda x: x ** 2, numbers))print(f"平方数:{squared_numbers}") # [1, 4, 9, 16, 25, 36] 📌 核心函数对比表格函数 作用 返回类型 记忆口诀filter (函 ...
avatar
HYRX-TG
运维工程师 | AI算法学习者 | 热爱写作与技术分享
关注 河岳日星的 GitHub
公告
欢迎来到河岳日星的博客,记录技术与成长
最新文章
网站资讯
文章数目 :
45
已运行时间 :
本站总字数 :
78.9k
本站访客数 :
本站总访问量 :
最后更新时间 :
一言
:D 获取中...
:D 获取中...