![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 58
面向测试编程
这个作者很懒,什么都没留下…
展开
-
Selenium原理及安装教程
Selenium原理及安装教程selenium原理Selenium分为三大块:我们编写的自动化程序:发送请求给浏览器驱动浏览器驱动:解析来自自动化程序的代码并发送给浏览器浏览器:执行程序的指令程序代码通过给浏览器驱动发送指令,让浏览器驱动根据这些操作在浏览器界面上进行控制,实现自动化程序在浏览器界面上操作的目的。实现过程:1.对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器驱动2.浏览器驱动中包含了一个HTTP Server,用来接收这些http请原创 2022-04-08 20:42:45 · 799 阅读 · 0 评论 -
【os.mkdir makedirs等】os模块文件目录相关方法
python文件目录相关操作创建目录os.mkdir(dirname) 只能创建一级目录。os.makedirs(path) 在当前目录下递归创建多级目录。删除文件或目录os.remove(path)删除文件。shutil.rmtree(dirpath) 可删除某个目录的所有子目录和子文件。拷贝文件shutil.copyfile( srcdir , desdir ) 从srcdir->desdir ,desdir文件存在则会覆盖。拷贝目录shutil.原创 2022-04-03 21:36:42 · 1357 阅读 · 0 评论 -
【STL】list容器的插入与删除
【STL】list容器插入与删除添加或插入新元素list成员方法:push_front():向 list 容器首个元素前添加新元素;push_back():向 list 容器最后一个元素后添加新元素;emplace_front():在容器首个元素前直接生成新的元素;emplace_back():在容器最后一个元素后直接生成新的元素;emplace():在容器的指定位置直接生成新的元素;insert():在指定位置插入新元素;splice():将其他 list 容器存储的多个元素添加到当前原创 2022-04-01 17:30:33 · 1370 阅读 · 0 评论 -
【STL】list容器底层实现及特点
【STL】list容器底层实现及特点底层实现容器的底层是以双向链表的形式实现的。node表示链表的头指针,list容器的迭代器操作通过前后指针完成重载。各个元素的前后顺序是靠指针来联系的,每个元素都配备了 2 个指针,分别指向它的前一个元素和后一个元素。其中第一个元素的前向指针总为 null,因为它前面没有元素;同样,尾部元素的后向指针也总为 null。特点因为元素使用链表存储,所以使用 list 容器的缺点是,它不能像 array 和 vector 那样,通过位置直接访问元素,例如使用 vec原创 2022-04-01 02:56:04 · 1025 阅读 · 0 评论 -
【STL】deque容器的底层实现原理
【STL】deque容器底层实现原理存储结构deque 容器存储数据的空间是由一段一段等长的连续空间构成,各段空间之间并不一定是连续的,可以位于在内存的不同区域。为了管理这些连续空间,deque 容器用 map 数组存储着各个连续空间的首地; map 数组中存储的都是指针,指向那些真正用来存储数据的各个连续空间。当 deque 容器需要在头部或尾部增加存储空间时,它会申请一段新的连续空间,同时在 map原创 2022-03-29 22:00:19 · 709 阅读 · 0 评论 -
【每日一题】leetcode 42.接雨水——动态规划
leetcode 42.接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)读题对于当前位置[3],雨水能达到的最大高度等于[3]两边的最大高度的最小值(类似短板),[3]处能接的雨水等于[3]处的水能原创 2022-03-28 20:35:07 · 197 阅读 · 0 评论 -
【操作系统】基于c语言的银行家算法模拟实现
基于C语言的银行家算法模拟实现源码原创 2022-03-27 19:31:53 · 1701 阅读 · 0 评论 -
【STL基础】vector底层实现&vector迭代器失效
vector底层实现三个指针 Myfirst、Mylast、Myend分别指向容器起始字节位置 容器最后一个内容字节位置 容器所占用内存空间尾部位置。在此基础上,将 3 个迭代器两两结合,还可以表达不同的含义,例如:_Myfirst 和 _Mylast 可以用来表示 vector 容器中目前已被使用的内存空间;_Mylast 和 _Myend 可以用来表示 vector 容器目前空闲的内存空间;_Myfirst 和 _Myend 可以用表示 vector 容器的容量。对于空的 vec原创 2022-03-27 19:07:53 · 676 阅读 · 0 评论 -
【STL基础】vector容器的插入与删除
vector容器的插入与删除删除函数功能pop_back()删除 vector 容器中最后一个元素,该容器的大小(size)会减 1,但容量(capacity)不会发生改变。erase(pos)删除 vector 容器中 pos 迭代器指定位置处的元素,并返回指向被删除元素下一个位置元素的迭代器。该容器的大小(size)会减 1,但容量(capacity)不会发生改变。swap()、pop_back()先调用 swap() 函数交换要删除的目标元素和容器最后一个元素原创 2022-03-27 19:03:26 · 1590 阅读 · 0 评论 -
【STL基础】vector成员函数
vector的成员函数函数名功能begin()返回指向容器中第一个元素的迭代器。end()返回指向容器最后一个元素所在位置后一个位置的迭代器,通常和 begin() 结合使用。rbegin()返回指向最后一个元素的迭代器。rend()返回指向第一个元素所在位置前一个位置的迭代器。cbegin()和 begin() 功能相同,只不过在其基础上,增加了 const 属性,不能用于修改元素。cend()和 end() 功能相同,只不过在其基础上,增加原创 2022-03-27 19:01:15 · 240 阅读 · 0 评论 -
【STL】vector创建
一.vector创建创建ElemType类型元素的vector容器:std::vector<ElemType> vec;这是一个空的 vector 容器,因为容器中没有元素,所以没有为其分配空间。当添加第一个元素(比如使用 push_back() 函数)时,vector 会自动分配内存。创建的同时初始化:std::vector<int> vec{1,2,3,4,5};创建了一个有5个整数的vector容器指定元素个数:std::vector<in原创 2022-03-27 18:33:33 · 356 阅读 · 0 评论 -
【STL基础】迭代器是什么及定义方法
STL基础-迭代器iterator迭代器是什么迭代器类型1.前向迭代器2.双向迭代器3.随机访问迭代器4.输入输出迭代器定义方式迭代器是什么不同容器的内部结构各异,但它们本质上都是用来存储大量数据的,对它们的操作相近,利用泛型技术,将它们设计成适用所有容器的通用算法,从而将容器和算法分离开。但实现此目的需要有一个类似中介的装置,它除了要具有对容器进行遍历读写数据的能力之外,还要能对外隐藏容器的内部差异,从而以统一的界面向算法传送数据,这就是迭代器的作用。迭代器和 C++ 的指针非常类似,它可以是需要原创 2022-03-27 17:16:25 · 829 阅读 · 0 评论 -
Pycharm出现【TabError: inconsistent use of tabs and spaces in indentation。】解决方案
当把代码从别处复制进来PyCharm,然后运行报错:TabError: inconsistent use of tabs and spaces in indentation。pycharm可设置使用tab或4个空格表示缩进,但是不能混用,图中我for前用tab表示缩进,循环中的由于做了修改,我自行添加了四个空格作为缩进,报错TabError:Inconsistentuseoftabsandspacesinindentation。出现这个错误的原因是代码中混用了tab和空格。...原创 2022-03-27 14:49:50 · 2597 阅读 · 0 评论