- 博客(40)
- 资源 (2)
- 问答 (5)
- 收藏
- 关注
原创 3.1 Python设计模式
设计模式是面向对象编程中的经典解决方案,遵循六大基本原则:开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、迪米特法则和合成复用原则。这些原则旨在提高代码的可扩展性、可维护性和复用性。设计模式分为三大类:创建型模式(如工厂、单例模式)、结构型模式(如适配器、装饰器模式)和行为型模式(如观察者、策略模式),共23种常见模式。它们通过抽象化和解耦,帮助开发者构建灵活、高效的软件架构。
2026-01-04 22:50:28
849
原创 2.6 测试
模拟用户操作路径(如 Web 页面点击、API 调用链),验证系统整体功能。适合验证核心业务流程(如用户注册 - 登录 - 下单),但需控制用例数量(执行耗时较长)。在 Python 开发中,测试不仅是 "找 Bug" 的手段,更是保障代码质量、降低维护成本的核心工程实践。当单元测试通过后,需验证模块间交互(如 API 调用、数据库操作、第三方服务依赖)。:优先选择 pytest,语法简洁、扩展性强,是 Python 社区主流测试框架。),包含用户注册、登录功能,依赖数据库操作(丰富插件(参数化、覆盖率)
2026-01-04 22:46:43
802
原创 2.5 python接口编程
例如,在一个电商系统中,订单处理模块与支付模块通过接口进行交互,支付模块可以随时替换为不同的支付提供商实现,只要它遵循订单处理模块所期望的接口规范,整个系统的其他部分无需进行大规模改动。例如,在编写一个数据处理接口时,可以根据输入数据的类型在运行时动态选择不同的处理函数,而不需要事先定义大量的静态类型检查。Python 凭借其卓越的灵活性、丰富的库资源以及简洁易读的语法,在接口编程领域占据了重要地位,广泛应用于各类项目开发中,从 Web 应用到数据处理,再到自动化测试等场景。一、接口编程基础概念。
2025-03-15 23:01:53
1959
原创 2.4 python网络编程
TCP 提供可靠的、面向连接的通信,适合对数据准确性要求高的应用,如文件传输、网页浏览等。UDP 则是无连接的,速度快但不保证数据的可靠传输,常用于实时性要求高的场景,如视频流、音频流。Python 丰富的库,如 BeautifulSoup 用于解析 HTML 和 XML 文档,Scrapy 用于构建大型爬虫项目,使得编写网络爬虫变得相对容易。Python 的分布式计算框架,如 Celery,可用于实现分布式任务队列,将复杂的任务分配到多个节点上并行处理,提高系统的处理能力和效率。(二)丰富的网络库。
2025-03-15 22:47:08
527
原创 1.7 面试经典150题 - H指数
篇论文被引用的次数。计算并返回该研究者的 h。代表“高引用次数” ,一名科研人员的。篇论文被引用次数大于等于。是指他(她)至少发表了。
2024-01-18 23:42:38
646
原创 1.6 面试经典150题 - 跳跃游戏
本题对上题略加修改,每次遍历都将计数加1,在上一题返回return的位置,变为返回计数即可。记录两个值:当前位置left,和目前可以到达的最右位置right。每次对区间内的位置进行遍历,找到新的 可以到达的最右位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。如果可以,则更新left 和 right位置,继续遍历。判断你是否能够到达最后一个下标,如果可以,返回。向前跳转的最大长度。生成的测试用例可以到达。如果不能继续向右,则无法到达最后一个节点。处,你可以跳转到任意。给你一个非负整数数组。
2024-01-18 23:26:46
1201
原创 1.6 面试经典150题 - 买卖股票的最佳时机
对价格数组进行遍历,每次遍历时,都记下当前已经出现的最小价格,以及把当天价格作为卖点的利润,并将本次的利润与前一天的利润对比,取最大值。所以从第二项开始遍历,每次都计算当天价格与前一天的差值,差值大于0时,当作当天的利润,加在总利润中,小于0时丢弃。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。在每一天,你可以决定是否购买和/或出售股票。设计一个算法来计算你所能获取的最大利润。这样,在遍历结束时,就能得到最大的利润了。高买低卖,当无法获利时,不要买入。你也可以先购买,然后在。
2024-01-15 22:44:37
629
原创 1.5 面试经典150题 - 轮转数组
1. 先整体轮转,将 [1, 2, 3, 4, 5, 6, 7]转为 [7, 6, 5, 4, 3, 2, 1]2. 再局部分别轮转前k个和剩余的,[5, 6, 7, 1, 2, 3, 4],即为答案。以[]1, 2, 3, 4, 5, 6, 7] 3 为例。这些写法,nums地址都变了,所以不是原地修改。,将数组中的元素向右轮转。注意:本题需要原地操作。
2024-01-15 22:36:16
626
原创 写在最前面
本专栏打算刷刷题,写写代码。题目素材选自leetcode。当然全部解决方法由本人完成,可能不是最优,但能保证有说明和注释。编程语言还是选用python了。
2024-01-12 01:02:02
403
原创 2.1 python文本处理-正则表达式
标准库模块 re模块方法# 将正则表达式样式编译成一个正则对象。一般用于多次使用正则对象的场景pattern# 扫描string字符串并查找符合patten样式的第一个位置,返回对应的 Match 结果,否则返回 None# 如果string开头的零个或多个字符与正则表达式pattern匹配,返回对应的 Match 结果,否则返回 None# 整个string余表达式patten样式匹配,返回对应的 Match 结果,否则返回 None。
2024-01-12 00:29:28
505
原创 2.1 python文本处理-json
json格式是一种很便捷常用的数据格式,python的json宝也能很好的支持json格式文件的读取和数据处理。
2024-01-02 23:41:56
2351
原创 写在专栏中间
说实话,python的有关专栏和总结,前人大牛们已经写了很多了,我也倍感压力。不过倒不是因为想要超越大牛,而是这些内容,平时用的都是信手拈来的东西,可是真正去写的时候,才发现平时用的都是皮毛,甚至有些都是不规范不建议的,更有至于一些基础知识甚至都没有见过用过。对于本专栏和我而言,我也是希望做下调整,专栏的边写目的不再是仅仅记录总结与学习,而是想通过前两部分的学习,打下扎实的理论基础后,进行第三部分和第四部分的拓展实践,我是预想能够在后面接触到人工智能或机器学习这部分,追追时髦。也许会专门另开个专栏。
2023-12-21 22:10:44
437
原创 1.3 python基本语法-变量与函数
以 def 关键字定义函数名函数名可以包含数字、字母、下划线函数名后需要指定函数参数,括号“()”括起来,传参可以为空参数列表后,以冒号开始函数体函数体需要缩进return 0。
2023-12-20 23:23:23
437
原创 1.1 python环境搭建
两者主要区别是,编译安装的python,会和操作系统的内置库兼容,尤其是动态链接等工具,例如ld。这个在少数场景会碰到,其他的没多大区别了。浏览器打不开,这一篇内容晚点再更新吧。
2023-12-05 22:58:28
90
原创 学习笔记·协程-进程-线程
惭愧,之前学习linux内核的时候对这块还挺熟的,现在不少内容忘记了,现在重新学习下,也作为学习笔记的开篇,用时下比较流行的话,叫“回归初心”吧。言归正传。一、进程一言以蔽之:进程是系统资源(cpu、内存)分配的最小单元。每个进程分配独立的内存空间。进程间需要使用进程间通信进行通信。常用的进程间通信方式有5种: 管道pipe、命名管道fifo、消息队列、信号量、共享内存、套接字。二、线程线程是操作系统调度的最小单位。与进程的关系:1. 一个线程属于一个进程,一个进程可以有多个
2022-04-23 23:22:39
125
原创 C++学习笔记(2) 顺序容器的使用
以下是根据《C++primer第5版》整理的C++顺序容器的使用。包括添加、删除、访问以及改变大小等操作。1. 添加元素表5-1向顺序容器中添加元素添加操作会改变容器大小,故array不支持。forward_list有独特的insert和emplace;forward_list不支持push_back和emplace_back;
2016-06-22 15:27:12
333
原创 C++学习笔记(1) 顺序容器简介
根据《C++ Primer 第五版》整理,支持C++11相关特性。1. 概述所有顺序容器都支持快速访问元素,但是其性能的差异在于:l 添加、删除元素的代价l 随机访问元素的代价类型随机访问添加删除备注vector支持在尾部之外添加较慢,删除较慢线性存储
2016-06-20 20:26:08
325
原创 突出显示当日的c++日历代码
下为突出显示输入日期的日历代码。#include #include #include "windows.h"using namespace std;/*** 此函数参考 http://blog.youkuaiyun.com/odaynot/article/details/7722240* 设置抽屉输出颜色,不过输出颜色只有三原色及其组合:* FOREGROUND_GREEN FOR
2016-05-16 20:40:33
502
原创 C++快排实现代码
#include #include #include #include #define PRINT_FLAG 0using namespace std;//create an index within the range start to overint RandInRange(int start,int over){ int len = ov
2016-03-16 19:23:21
696
原创 UNIX入门之常用头文件apue.h (附带去除文档空格的代码)
apue.h:######################################################ifndef _APUE_H #define _APUE_H #define _XOPEN_SOURCE 600 /* Single UNIX Specification, Version 3 */ #include /*
2015-12-17 20:57:32
332
TCP协议详解笔记
2016-12-01
django-admin样式问题
2016-11-02
android-sdk安装配置android2.3
2016-08-23
O(1)时间才删除链表节点的问题
2016-07-28
codeblock下ntohs函数编译失败
2016-04-20
c语言printf函数实现问题
2016-06-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1