自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Unitest使用教程

"""自定义测试加载器""""""从模块加载测试"""# 过滤掉标记为慢速的测试"""检查测试是否标记为慢速"""# 实际实现中可以通过自定义属性或方法判断unittest 是 Python 标准库的一部分,提供了强大的测试框架,无需额外依赖即可使用。完整的测试结构和生命周期管理丰富的断言方法灵活的测试发现和执行机制与 Python 生态系统的良好集成适合大型项目和团队协作的稳定基础。

2025-06-22 15:36:01 550

原创 【Pytest 使用教程】

夹具(Fixture)系统是 pytest 最强大的功能之一,它提供了一种可复用准备测试环境(如数据库连接、配置文件)管理测试资源(如临时文件、网络连接)执行清理操作(如关闭连接、删除临时数据)共享测试数据(如预定义的用户对象)资源管理:自动化管理测试资源的生命周期代码复用:消除重复的初始化和清理代码依赖注入:解耦测试逻辑与测试环境可维护性:集中管理环境配置,一处修改全局生效灵活性:支持多种作用域和组合方式。

2025-06-22 14:57:51 529

原创 Unitest和pytest使用方法的区别联系

是 Python 自带的单元测试框架,用于编写和运行可重复的测试用例。它的核心思想是通过断言(assertions)验证代码的行为是否符合预期。是 Python 测试的基石,适合中小型项目。对于复杂场景,可以结合第三方库(如。本身不支持参数化,但可通过第三方库(如。

2025-04-22 23:48:12 701

原创 web框架介绍

(Web Framework)是一套预先编写好的代码库和工具集,用于简化 Web 应用的开发流程。它提供了一套标准化的结构和功能,帮助开发者快速构建、部署和维护 Web 服务,而无需从零实现底层基础功能(如网络协议、数据解析等)。

2025-04-21 12:24:07 551

原创 configparserd读取ini文件

可以轻松实现配置文件的读写和管理,非常适合需要灵活配置的应用场景。掌握这些方法后,可以轻松实现配置文件的动态管理和复杂场景的适配!的模块,适合管理程序的配置参数。是 Python 中用于处理。

2025-04-15 12:20:57 439

原创 深度学习框架中动态图和静态图是什么意思,如何通过keras和estmator实现?

动态图(Eager Execution)和静态图(Graph Execution)是深度学习框架中两种不同的计算图构建和执行方式,它们在开发流程、灵活性和性能优化等方面有显著区别。动态图模式下,代码逐行执行,计算图在运行时即时构建。每个操作(如矩阵乘法、激活函数)会立即执行,结果立即可见,无需预先定义完整的计算流程。静态图模式下,需要先定义完整的计算图结构(所有操作和依赖关系),再通过会话(Session)统一执行。计算图在运行前会被编译和优化。

2025-03-23 20:14:58 1105

原创 Keras和 Estimator的创建历史是什么

Keras 和 Estimator 是 TensorFlow 生态中两个重要的高级 API,它们的诞生和发展与深度学习框架的演进及开发者需求密切相关。

2025-03-23 19:53:18 1114

原创 tf1.x和tf2.x在使用上的区别和联系是什么

TensorFlow 1.x 和 2.x 在使用上有显著差异,主要体现在编程范式、API 设计和易用性上,但二者仍共享相同的核心目标(深度学习框架)和底层计算引擎。

2025-03-18 23:28:37 567

原创 TF中 Arg 节点

如果希望常量固定为。

2025-03-18 23:26:53 751

原创 C++ 复习记录(个人记录)

1 、禁止类自己被继承final 用于禁止 虚函数被重写和 类被继承,然后这个Person就不可以被继承了,2、 一个类, 自己继承了别人后,禁止别人继承自己。// 失败,因为父类Student是final修饰的 };就是意味着继承了Person。但是Student不能被别人继承。3、final用于禁止函数被重写virtual void run() final { // 表示该方法是最终方法,无法被重写// 编译错误,方法无法被重写。

2024-10-28 01:08:55 1723

原创 C语言中数组和字符串的联系

因为指针不仅要确认指向的地址的开头,还要确认这个地址怎么解析。如果是char类型,就按char类型取出,如果是数组类型,就按这个数组的类型,取出这个存放在数组里的数。所以强调不同的原因是因为它们的类型是不同的。2、数组名保存的地址,是第一个元素的地址,这个也很模糊。我们说的 数组的地址和数组第一个元素的地址,这两个地址打印出来是一样的。1、如果对这个变量使用求地址符,&greet,这个值和ptr的值一样,并不是ptr地址的地址。greet是第一个元素的地址,&greet是这个数组的地址。

2024-09-23 02:32:10 509

原创 C语言中定义指针,函数指针这种类似的变量(个人纪录)

/1、定义一个指针int *p;//定义一个数组//2、定义一个指针数组// 顾名思义 是一个数组,数组里面都是存的指针变量。// 这是一个指针数组,包含10个指向整数的指针// 这是一个指针数组,包含5个指向字符的指针//3、定义一个数组指针// 这是一个指向包含10个整数的数组的指针//4、定义一个指针函数//指针函数就是这个函数,返回以一个指针,函数可以返回任何值,当然也可以返回指针。return str;

2024-09-21 12:52:41 353 1

原创 C语言中值传递

值传递时,函数接收的是参数是一个复制的值。这个是因为指针的值虽然也是复制的,但是保存在指针里的值是一样的,即两个都是指向变量的地址,不一样的是变量地址的地址。总结:修改一个变量,一定是修改到这个变量的本身,所以会用指针的方式来修改变量。通过传入的是变量的地址。如果想要改变这个函数里的值, 经常用的方式有两种,一是使用全局变量,二是使用指针。当时产生了一个疑问是,指针传入的时候,不也是复制的值么,为啥指针就可以改了呢。这种值传递的场景是一个函数里面套了一个函数,这样就会产生一个局部变量的情况。

2024-09-20 21:57:46 459

原创 C语言中数据类型

3、指针类型(pointer):用于存储变量或函数的内存地址,如:int *p;

2024-09-16 23:10:08 724 1

原创 C语言指针和数组梳理

1、指针是一个变量,保存一个地址。一个 X 型指针,保存一个 X 型地址。这句话可以这样说,一个 X 型指针,指向一个X 型地址。2、数组名保存一个地址,但是这个地址不可以更换。一个 X 型数组变量,保存了一个X 型地址。综合以上,一个X型指针可以指向一个X型地址,一个X型数组变量。一个X型的指针。所以一个 int 型指针,指向了一个int 型地址, 一个指针类型的指针,指向了一个指针类型的地址。反过来,要想指向一个 数组类型的数组。需要一个数组型的指针。

2024-09-16 00:10:10 514

原创 Linux常用环境变量PATH

如果没告诉你,你就自己找,你可能就在书桌上找,没到到去书包里,再去别的地方,但是一定在你平时放书的地方,不可能去你都不知道的地方去找。而shell在去执行命令的时候,如果不是通过决定路径去执行,就会去PATH这个变量的路径下去找这个执行命令的程序。2、 PATH 中的目录使用冒号分隔,如果命令或者程序的位置没有包括在PATH 变量中,又不使用绝对路径的话,shell是没法找到的。1、当我们在shell命令行属于一个命令,shell解释器去解释这个命令的时候,需要先找到这个命令.即使用绝对路径运行。

2024-06-22 23:58:56 1645

原创 Linux中的全局环境变量和局部环境变量

但是有注意的点是 ,如果我们在父进程里设置全局变量,子进程可以使用,但是子进程设置的全局变量,父进程是没办法调用的。3、当父shell定义一个全局环境变量,在子shell中,这个全局环境变量被重新定义了一次,退出子shell, 这个全局环境变量还是之前的值。如果我们想在父shell 进程中的环境变量,可以被 子shell进程调用,那么就要把这个环境变量设置成全局环境变量。同理,如果在子进程中设置了一个局部环境变量,那么一旦你退出了子进程,那个局部环境变量就不可用。这样的方式,来查看单个变量的值。

2024-06-22 20:48:35 2610

原创 Linux命令运行时的进程关系

如上图可以看出,第一次什么都不做,使用ps -f 命令,就可以看到 有bash的进程,这个就是父shell, 然后我们再输入bash 命令,输入后,看不出任何变化,但实际上,已经又生成了一个子shell. 从图中可以看出,新生成的子shell的PID是537699,这个shell的父进程是 537377. 然后我们看父shell的PID就是 537377。shell是一个命令行解释器工具,它是一个时刻都在运行的程序,当我们在命令行输入命令,shell会去解释执行这个命令。建命令的操作方式大不相同。

2024-06-20 23:49:55 720

原创 二分脚本-自己使用

【代码】二分脚本-自己使用。

2024-06-20 22:08:33 245

原创 Linux,shell ,gun基本概念和关系

2、除了由内核控制硬件设备外,操作系统还需要工具来执行一些标准功能,比如控制文件(删除,复制,读取的权限,删除的权限)和程序(比如运行指定程序)。提供的是文件管理(这个文件管理不是我们的简单删除,复制什么的,具体可以查看操作系统的知识)、虚拟内存、设备I/O这些。3、Linux内核和GNU操作系统工具整合起来,就产生了一款完整的、功能丰富的免费操作系统所以通常将Linux内核和GNU工具的结合体称为Linux。,是一种特殊的交互式工具 ,用于提供用户与操作系统之间的交互接口。LiveCD测试发行版。

2024-06-16 19:40:15 867

原创 【shell脚本个人随笔记录】

4、 (( expression )) 双括号,test命令使用的标准数学运算符,可以用在 if语句后, 也可以在脚本中的普通命令。then (());文件比较是:-d ( 存在且是目录) -e ( 存在目录和文件都可以 ) -f( 存在且为文件) -r -w (存在,可读 ,可写) -s(存在且非空) -x(存在且可以执行)2、[ ] 是 代替test的,在if 语句中 ,可以不用写 test. if [ a -lt b ] , 注意点是,第一个括号之后, 和最后一个括号之前需要。

2024-06-11 08:09:31 623

原创 【python正则表达式】

正则表达式是进行文本匹配的一种方式,通过正则来匹配到自己需要的内容。和我们用搜索浏览器一样,搜索abc,搜索出来的内容就是包括abc相关的。正则是在一个目标字符串中,搜索到你需要的关键字目标字符串: Youth is not a time of life;正则表达式: life下面这个网站就是可以使用正则来匹配搜索。可以直接用字符串搜索到1、 比如 \bm…e\b2、 \w 匹配字母或数字\b\w\w\w\w\b 代表什么?

2024-05-16 23:39:47 2243

原创 Linux环境中vim的使用

vi即VisuaLace(视觉界面)Vi有三种基本工作模式:命令模式输入模式末行模式。

2024-05-16 13:02:20 1096

原创 Python 建立一个web服务器(个人学习记录整理中)

一、Python 建立一个web服务器。

2024-05-06 08:48:48 751 1

原创 Linux环境如何安装python

因此,如果你将Python 3.8的软链接(或可执行文件本身)放置在PATH环境变量所包含的某个目录中,那么无论你当前处于哪个目录,只要输入python3.8(或者你所设置的任何别名,如python3),操作系统都会在PATH中查找并执行这个命令,从而启动Python 3.8解释器。需要注意的是,如果你的系统中安装了多个Python版本,并且你希望使用特定的版本(如Python 3.8),确保你的软链接或别名指向了正确的Python可执行文件。这可能会花费一些时间,具体取决于你的系统性能。

2024-05-01 13:02:55 10198 1

原创 python协程的实现

想象一下,work1函数中,yield 语句执行的地方不是紧跟着一个整数,而是一个IO操作,那么这就会大大提高程序的并发。IO操作是阻塞的,耗时的,但协程可以在遇到IO操作的时候将程序的控制权让出,这个时候别的协程获得程序控制权继续执行。2、使用gevent来实现多任务的时候,有一个很特殊的地方它可以自行切换协程指定的任务,而且切换的前提是:当一个任务用到耗时操作(例如延时),它就会把这个时间拿出来去做另外的任务,这样做最终实现了多任务 而且自动切换,如下。1、协程,又称微线程,纤程。

2024-04-28 08:48:52 412

原创 python多线程和多进程的实现

python多线程和多进程的实现

2024-04-26 13:47:28 1575 1

原创 【python线程,进程,协程】

线程和进程都是操作系统里的概念进程:进程是操作系统进行资源分配和调度的。可以把进程想象成一个独立的工作区域,里面包含了程序运行所需的所有资源,比如内存、文件、设备等。每个进程都有自己的地址空间,所以它们之间是相互独立的。比如电脑上打开谷歌浏览器,操作系统就会去使用进程运行。线程:进程是一个独立的工作区域,线程就是这个工作区域的员工,负责更具体的工作内容。同一个进程内的多个线程共享该进程的地址空间和其他资源,所以它们之间的通信和数据共享相对简单。

2024-04-18 13:19:22 771

原创 python随笔记录

python中,如果一个函数的形参有默认值,我们称之为缺省参数,当这个缺省参数的值是一个列表,则每次调用这个函数,这个列表都是累计变化的,并不会每次调用重新生成一个新列表。按正常思考,每次调用这个方法的时候,打印出列表值都是新的值,第一次是 11, 第二次重新开始是22。推导式结构: 表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]实际第一次是[11],第二次是[11, 22],并不是一个重新开始的列表。listdir怎么用的。

2024-04-04 23:29:22 364 1

原创 python中常用的模块-OS

os 后直接 接命令的。基本是1、新建,修改,删除文件夹和文件2、查看操作系统相关的3、执行系统命令。

2024-04-04 23:04:15 666 1

原创 python中logging日志模块的使用方法

这个格式可以输出日志的打印时间,是哪个模块输出的,输出的日志级别是什么,以及输入的日志内容。%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]%(levelname)s: 打印日志级别名称。%(filename)s: 打印当前执行程序名。%(funcName)s: 打印日志的当前函数。%(levelno)s: 打印日志级别的数值。%(lineno)d: 打印日志的当前行号。%(asctime)s: 打印日志的时间。%(message)s: 打印日志信息。

2024-04-03 21:41:03 432 2

原创 Linux安装conda环境

conda env list 或者 conda info --envs。1、下载指定的版本,选择需要的版本进行安装。7、激活指定的环境 以及退出当前的环境。conda activate 环境名。Linux安装conda环境。3、初始化conda环境。4、查看conda环境。5、创建指定版本的环境。

2024-03-24 23:42:58 367 1

原创 一文理解python迭代器和生成器

1、首先要理解什么是可迭代对象,平时比较常用的数据类型,例如列表,元组,字符串,字典,集合都是可迭代对象。在python中,可迭代对象的定义就是:一个对象实现了__iter__ 方法,那么它就是一个可迭代对象。这个听起来时没问题的,但实际上,我们用for 去遍历一个对象的内部细节操作,也是通过 调用这个可迭代对象的__next__这个方法实现的遍历。的形式进行遍历元素,如果这个元素可以通过这个方式遍历,那么这个元素的数据类型就是可以迭代的,我们也把这个数据类型的数据 叫做可迭代对象。

2024-03-21 23:03:13 317 2

原创 一文轻松理解python装饰器

学过初中数学的都知道函数。原本在函数A调用过后(执行result=A(fun)这个一步后 ),因为函数A里面参数 fun是个局部变量,会被销毁,但是通过嵌套一个函数B,B函数中调用fun, 又返回B的函数名 这个操作,就可以保存这个变量在函数B中,所以我们可以通过调用B继续调用到fun,这个就是闭包的作用。有参数的装饰器有点不同,我们要明确,demo有两个参数,我们用A去装饰这个demo的时候,等价于 demo= A(demo),所以这个A只能传入一个参数,就是demo这个函数的名字。

2024-03-16 20:19:15 1373 1

原创 python面试常见题目

个人学习python知识点总结

2024-03-10 03:20:19 1310 1

原创 【python网络编程学习】

1、计算机网络中,ip是网络5层模型中的网络层的一个概念,具体到一个网络设备上,每个ip都标记一个设备,类似于一个人的身份证号码。这个ip是世界公用的,所以也叫,这个是不会重复的,所以现在发送评论可以显示你的ip(也可以欺骗)。但是在使用网络ip的时候,为了避免浪费ip地址,也为了个人使用方便,就划分了一些ip作为私有ip,在我们自己的私人局域网里,会使用这些ip给每个设备分配,比如路由器的ip,一般都是192.168.1.1(对内),在别人的局域网里,ip也可以是192.168.1.1。

2024-03-05 22:23:10 941

原创 git使用基础教程

自我记录

2024-02-28 23:58:36 472 1

原创 Python 面向对象学习总结 -类中元素的相互调用总结

介绍类和对象的调用, 以及实例方法,类方法,静态方法的它们各自的权限和调用方法。

2023-11-30 08:32:36 392

原创 python 面向对象

python类属性,实例属性,类的方法,实例方法,类方法,静态方法的基础概念

2023-11-27 23:25:27 59

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除