自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 python标准库模块:functools模块:高阶函数的好帮手

定义functools 是一系列高阶函数的集合,这些函数可以接受其他函数作为参数或者返回其他函数。一般说来,凡是可被调用的对象,都可以当成这个模块的作用对象。常用函数functools.cmp_to_key(func)cmp_to_key可以将老式风格的比较函数转换成比较关键字函数。这个函数用在接收比较关键字函数作为参数的函数中(比如 sorted(), min(), max(), heapq.nlargest(), heapq.nsmallest(), itertools.groupby

2022-05-09 11:13:58 211

原创 Python面试经典题目:python实现单例模式的四种方法

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个单例而且该单例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。new()在__init__()之前被调用,用于生成实例对象。利用这个方法和累的属性的特点可以实现设计模式的单例模式。单例模式是指创建唯一对象,单例模式设计的类只能实例。1.使用__new__方法class Singleton(object):

2022-05-06 16:32:51 271

原创 链表相关知识

'''链表:数据成员和操作:增删改查基本思路 链表由一系列数据记录构成,在每个记录里有个区域包含一个指向下一个数据记录的索引(也就是一个链接)。链表VS数组/列表 使用固定步数的操作可以在列表中任意节点做插入、删除操作。 不允许随机访问循环链表双向链表哨兵节点:通常自己创建抽 象 数 据 类 型 (ADT) 列 表 操 作: 1.创 建 一 个 空 列 表 2.判 定 列 表 是 否 为 空 3.确 定 列 表 中

2022-04-11 21:37:35 473

原创 在ubuntu20.10系统下实现一键OCR识别图片截图中的内容使之转换为文本可以复制粘贴

目的本文主要希望在ubuntu系统下实现 一键OCR识别图片截图中的内容使之转换为文本可以复制粘贴主要思路利用截图软件gnome-screenshot 进行截取需要被文字识别的图片;利用文字识别OCR软件tesseract,进行识别将结果输出,复制到文件和剪切板本文附视频教程:ubuntu linux 下实现一键截屏截图OCR文字识别_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili步骤1:安装依赖软件安装tesseracttesseract是一个开源的OCR引擎,最初是由惠普公司开发用

2022-04-11 10:10:20 1105

原创 数据库:让杂乱无章的数据充满价值

1.数据库数据:能够输入到计算机中并可以被识别处理的信息集合。数据处理概述数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说有价值、有意义的数据。1.1概述数据存储人工管理—>文件管理—>数据库管理数据库应用领域基本概念数据库:按照数据的一定结构,存储管理数据的仓库。数据库是在数据库管理系统管理和控制下,在一定介质上的数据集合。数据库管理系统:管理数据库的软件,用于建立和维护数据库。关系型数据

2022-04-05 11:52:20 1672

原创 系统编程:摆脱语法的束缚,快速进阶高级程序员

文章目录1. 文件读写1.1 引入1.2 文件读写操作1.2.1 打开文件1.2.2 读取文件1.2.3 写入文件1.2.4 关闭文件1.2.5 with语句1.2.6 读写缓冲区1.2.7 文件偏移量1.3 os模块2. 网络编程2.1 网络基础认知2.1.1 什么是网络2.1.2 网络通信标准2.1.3 通信地址2.1.4 服务端与客户端2.2 UDP 传输方法2.2.1 套接字简介2.2.2 UDP套接字编程2.2.3 UDP套接字特点2.3 TCP 传输方法2.3.1 TCP传输特点2.3.2

2022-04-05 00:39:19 156

原创 数据库:Ubuntu21.10系统下mysql数据库的安装和密码修改设置

1.安装准备:Ubuntu 21.10系统,服务器或者虚拟机可以连接外网。2.安装步骤:执行以下脚本进行安装,安装的简短版本很简单:更新包,安装mysql服务器包。更新服务器上的软件包索引sudo apt update安装mysql默认软件包sudo apt install mysql-server为了使用密码以root用户身份连接到MySQL ,您需要将其身份验证方法从切换auth_socket为mysql_native_password。为此,请从终端打开MySQL提示符:打开MySQ

2022-04-04 00:16:32 276

原创 多进程编程案例:复制文件夹中的多个文件

'''练习2:编写一个程序,用来复制一个文件夹(自选文件夹,文件夹中有若干个普通文件,没有子目录),要求为了提高复制的速度,每个文件的复制都采用一个独立的进程来完成提示 : os.listdir() os.mkdir("dir")'''from multiprocessing import *import osclass Copy_Files(Process): def __init__(self, dir1, dir2): self.dir1

2022-03-29 19:02:11 399

原创 动态规划:BM63跳台阶

动态规划三要素:1.最优子结构:每个阶段的最优状态可以从之前某个阶段的某个或某些状态直接得到。2.边界:问题最小子集的解3.状态转移函数:递推式(一个阶段向另一个阶段过渡)一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。示例1输入:2返回值:2复制说明:青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2示例2输入:7返回值:21分析:边界:f(1)=1,f(2)=2

2022-03-28 22:17:28 261

原创 线性查找:循环版

线性查找指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。def search(arr, n, x): for i in range (0, n): if (arr[i] == x): return i return -1 # 在数组 arr 中查找字符 Darr = [ 'A', 'B', 'C', 'D', 'E' ] x = 'D' n = len(arr) result = search(arr

2022-03-28 21:27:06 134

原创 HTTP协议:服务端代码

#处理请求class Handle: def __init__(self,html): self.html=html def do_http(self,conn): request=conn.recv(1024) if not request: return info = request.decode().split(' ')[1] self.send_to(conn,info) def send_to(self,conn,info): #info 分情况讨论,请求的内

2022-03-28 19:20:31 454

原创 二分查找法递归版

二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。# 返回 x 在 arr 中的索引,如果不存在返回 -1def binarySearch (arr, l, r, x): # 基本判断 if r >=

2022-03-28 08:33:10 257

原创 实战项目1:学生信息管理系统

"""env: python3.6 pycharm"""import os # 导入操作系统模块filename = "students.txt" # 定义保存学生信息的文件名def menu(): # 输出菜单 print(''' ╔———————学生信息管理系统————————╗ │ │ │ =============== 功能菜单 ========

2022-03-27 19:23:46 177 1

原创 linux系统下的基本操作

Linux 操作系统1. Linux操作系统认知1.1 操作系统(Operation System简称OS)定义操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统功能管理好硬件设备,为用户提供调用方法是计算机中最重要的系统环境管理各种其他的软件和程序的运行对系统中文件进行管理操作系统分类桌面系统:Wind

2022-03-22 18:46:05 2881

原创 面试刷题牛客网:BM22 比较项目版本号

描述牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等现在给你2个版本号version1和version2,请你比较他们的大小版本号是由修订号组成,修订号与修订号之间由一个"."连接。1个修订号可能有多位数字组成,修订号可能包含前导0,且是合法的。例如,1.02.11,0.1,0.2都是合法的版本号每个版本号至少包含1个修订号。修订号从左到右编号,下标从0开始,最左边的修订号下标为0,下一个修订号下标为1,以此类推。比较规则:一. 比较版本号时,请按从左到右的顺序依次比较它

2022-03-20 18:45:54 476

原创 Python核心:1.学习方法

1.1学习理念1.1.1弱语法,重本质是一种弱化语言规则,注重程序原理的学习过程。语法是表象,只有了解深层机理,才能灵活运用。学习编程要深入内存,剖析原理,才能看透语法。就像太极“用意不用力,先在心后在身”的道理。1.1.2 是技术,更艺术编程是一门技术,但更是一种艺术。写出高质量的代码(功能性、维护性,灵活性),享受编程所带来的乐趣。1.1.3 项目化,实战化从零做项目,了解商业项目的软件架构的核心,学习其他项目的的核心算法。...

2022-03-20 16:12:27 275

原创 1.算法周测六题

1.给定一个非空的字符串,判断它是否可以由它的一个子字符串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: “abab”输出: True解释: 可由子字符串 “ab” 重复两次构成。(1).我的解法:def repeat_gt_2_times02(s): new_list = [] for i in range(len(s) - 1): new_list.append(s[0:i + 1]) print(new_li

2022-03-20 15:50:25 164

原创 Python核心:2.Python简介

2. Python 简介2.1 计算机基础结构2.1.1 硬件1944年,美籍匈牙利数学家冯·诺依曼提出计算机基本结构。五大组成部分:运算器、控制器、存储器、输入设备、输出设备。– 运算器:按照程序中的指令,对数据进行加工处理。– 控制器:根据程序需求,指挥计算机的各个部件协调工作。通常将运算器和控制器集成在中央处理器(CPU)中。– 存储器:保存各类程序的数据信息。​ 内存RAM – 容量小,速度快,临时存储数据​ 硬盘HDD – 容量大,速度慢,永久存储数据

2022-03-20 11:20:51 160

原创 软件架构思想:面向对象-->万物皆可为对象

1. 概述1.1 面向过程(1) 定义:分析出解决问题的步骤,然后逐步实现。例如:婚礼筹办– 请柬(选照片、措词、制作)– 宴席(场地、找厨师、准备桌椅餐具、计划菜品、购买食材)– 仪式(定婚礼仪式流程、请主持人)(2) 公式:程序 = 算法 + 数据结构(3) 优点:所有环节、细节自己掌控。(4) 缺点:考虑所有细节,工作量大。1.2 面向对象(1) 定义:找出解决问题的人,然后分配职责。例如:婚礼筹办– 发请柬:找摄影公司(拍照片、制作请柬)– 宴席:找酒店(告诉对方标准、

2022-03-19 22:13:31 608

原创 Python核心:5. 容器类型和6.函数function

5. 容器类型5.1 通用操作5.1.1 数学运算符运算符说明+用于拼接两个容器+=用原容器与右侧容器拼接,并重新绑定变量*重复生成容器元素*=用原容器生成重复元素, 并重新绑定变量< <= > >= == !=依次比较两个容器中元素,一但不同则返回比较结果。# 1. 拼接2个容器元素name = "悟空"name += "八戒"print(name) # 悟空八戒# 2. 容器元素重复name = "唐

2022-03-19 21:46:29 310

原创 Python核心:4. 流程控制语句

4. 语句4.1 行(1) 物理行:程序员编写代码的行。(2) 逻辑行:python解释器需要执行的指令。(3) 建议:​ 一个逻辑行在一个物理行上。​ 如果一个物理行中使用多个逻辑行,需要使用分号;隔开。(4) 换行:​ 如果逻辑行过长,可以使用隐式换行或显式换行。​ 隐式换行:所有括号的内容换行,称为隐式换行​ 括号包括: () [] {} 三种​ 显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾,目的是告诉解释器,下一行也是本行的语句。# 4个物理

2022-03-19 18:16:34 772

原创 Python核心:3. 数据基本运算

3.1 基础知识3.1.1 pycharm常用快捷键""" 创建文件:exercise03 汇率转换器"""# 1. 获取数据 - 美元usd = input("请输入美元:")# 2. 逻辑处理 - 美元 * 6.99cny = int(usd) * 6.99# 3. 显示结果 - xx美元是xx人民币print(usd + "美元是" + str(cny) + "人民币")(1) 移动到本行开头:home键(2) 移动到本行末尾:end键盘(3) 注释代码:c

2022-03-19 17:39:56 955

原创 数据结构与算法:1.链表结构

1 Python链表1.1基本概念概念:链表是通过一个个节点组成的,每个节点都包含了称为cargo的基本单元,它也是一种**递归**的数据结构。图示:能保持数据之间的逻辑顺序,但不必按照顺序存储。和C不一样的是python没有专门的指针概念,在python中每个变量都是指针链表的删除可以通过修改指针来实现Python实现链表的方法:class Node: ''' data:节点保存的数据 _next:保存下一个节点对象 ''' def __init

2022-03-18 18:31:24 3867

原创 力扣题解:1. 两数之和---三种解法

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6

2022-03-16 23:40:18 156

原创 Python高级:5.函数式编程

5 函数式编程(1) 定义:用一系列函数解决问题。– 函数可以赋值给变量,赋值后变量绑定函数。– 允许将函数作为参数传入另一个函数。– 允许函数返回一个函数。(2) 高阶函数:将函数作为参数或返回值的函数。5.1 函数作为参数将核心逻辑传入方法体,使该方法的适用性更广,体现了面向对象的开闭原则。list01 = [342, 4, 54, 56, 6776]# 定义函数,在列表中查找所有大于100的数def get_number_gt_100(): for number in l

2022-03-16 22:16:28 326

原创 Python高级:2.异常处理Error

2 异常处理Error2.1 异常(1) 定义:运行时检测到的错误。(2) 现象:当异常发生时,程序不会再向下执行,而转到函数的调用语句。(3) 常见异常类型:– 名称异常(NameError):变量未定义。– 类型异常(TypeError):不同类型数据进行运算。– 索引异常(IndexError):超出索引范围。– 属性异常(AttributeError):对象没有对应名称的属性。– 键异常(KeyError):没有对应名称的键。– 异常基类Exception。2.2 处理(1)

2022-03-16 22:12:38 371

原创 Python高级:1.程序结构

1 程序结构1.1 模块 Module1.1.1 定义包含一系列数据、函数、类的文件,通常以.py结尾。1.1.2 作用让一些相关的数据,函数,类有逻辑的组织在一起,使逻辑结构更加清晰。有利于多人合作开发。1.1.3 导入1.1.3.1 import(1) 语法:import 模块名import 模块名 as 别名(2) 作用:将模块整体导入到当前模块中(3) 使用:模块名.成员1.1.3.2 from import(1) 语法:from 模块名 import 成员名fro

2022-03-16 22:11:07 201

原创 Python高级:4.生成器generator

这里写自定义目录标题欢迎使用Markdown编辑器前言一、pandas是什么?二、使用步在这里插入代码片骤1.引入库2.读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器提示:文

2022-03-16 22:06:12 209

原创 Python高级:3.迭代

3 迭代每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。例如:循环获取容器中的元素。3.1 可迭代对象iterable(1) 定义:具有__iter__函数的对象,可以返回迭代器对象。(2) 语法:# 创建:class 可迭代对象名称: def __iter__(self): return 迭代器# 使用: for 变量名 in 可迭代对象: 语句(3) 原理:迭代器 = 可迭代对象.__iter__(

2022-03-16 21:59:58 537

Power BI 相关数据

数据分析学习从业人员

2022-08-08

空空如也

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

TA关注的人

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