东方隐侠-千里
一颗初心,护天下安全!
东方隐侠,欢迎您的加入!
欢迎关注团队公众号!
展开
-
Python脚本和图片相互转换
最近模拟病毒的时候,导演说不能有下载远程图片和带本地图片的现象,不然演示环境容易影响演示效果。于是要考虑python脚本生成图片。接着 需要考虑图片怎么融合进去,考虑到在pyinstaller打包的时候放进去,但是发现除了ico文件作为图标可以在-i的时候融入,其他图片无法加进去,于是有此文。原创 2022-10-31 23:58:12 · 836 阅读 · 0 评论 -
“中心扩展算法”思想求解回文子串问题
讲述中心扩散算法原创 2022-09-11 12:15:54 · 294 阅读 · 0 评论 -
“滑动窗口”思想求解字符串相关问题
在求解字符串满足指定要求的最大子串时,可以采取滑动窗口的思想,枚举出所有满足要求的子字符串,再以一个max变量记录最高记录即可。原创 2022-09-11 11:37:14 · 147 阅读 · 0 评论 -
Python中的可变对象和不可变对象
python可变对象和不可变对象的区别原创 2022-08-10 22:25:23 · 249 阅读 · 0 评论 -
Python · list中append和extend函数的区别
)方法都是在列表末尾添加数据,append()方法支持添加所有数据,extend()方法只支持。4.把set集合添加到列表中。5.把单个数值添加到列表中(6.把类/对象添加到列表中(5.把单个数值添加到列表中。6.把类/对象添加到列表中。1.把列表添加到列表中。2.把元组添加到列表中。3.把字典添加到列表中。1.把列表添加到列表中。2.把元组添加到列表中。3.把字典添加到列表中。单个数值不是可迭代对象。类/对象不是可迭代对象。...原创 2022-08-10 22:17:07 · 323 阅读 · 0 评论 -
【哈希冲突解决】线性探测再散列和二次探测再散列
Hashing)是计算机科学中一种对资料的处理方法,通过某种特定的函数/算法(称为散列函数/算法)将要检索的项与用来检索的索引(称为散列,或者散列值)关联起来,生成一种便于搜索的数据结构(称为散列表)。二次再散列法是指第一次散列产生哈希地址冲突,为了解决冲突,采用另外的散列函数或者对冲突结果进行处理的方法。...原创 2022-08-10 22:10:41 · 5509 阅读 · 0 评论 -
CentOS7 安装/切换多版本jdk
CentOS7 默认安装了 openjdk 1.7 和 openjdk1.8,这里以安装 openjdk11 为例下载使用 alternatives 安装使用 alternatives 切换完成原创 2022-07-04 09:29:32 · 1618 阅读 · 0 评论 -
指定路径列表批量拷贝文件+Windows批处理命令大全
一、指定路径列表批量拷贝Windows文件cat.bat@echo offset target = ''mkdir samplessetloacal enabledelayedexpanssionfor /f %%I in (paths.txt) do ( set target = %%I echo start collecting !target! copy /y !target! samples)二、Windows批处理命令大全系统控制Shut原创 2022-04-16 00:34:49 · 3033 阅读 · 0 评论 -
脚本开发·Powershell使用教程
目录一、前言二、Basic PowerShell Cmdlets1. Get-Command2.Get-Help3.Set-ExecutionPolicy4. Get-Service5.ConvertTo-HTML6.Get-EventLog7. Get-Process8.Clear-History9. Where-Object10.Set-AuthenticodeSignature三、PowerShell Commands for Getti......原创 2022-04-23 23:30:23 · 570 阅读 · 0 评论 -
Python·pyinstaller打包生成无依赖EXE
pyinstaller模块用于将python项目打包发布成exe文件,以方便地在没有安装python环境的机器上运行。该模块使用pip install pyinstaller安装即可。一、常用参数及含义二、打包简单的py文件对一个简单.py文件,当没有依赖的其他路径下的.py文件、没有间接依赖的其他包、没有依赖的资源文件时,可使用命令pyinstaller –F xxx.py,直接打包成一个exe文件。示例:一个简单的整数求和小程序命名calculator.py,写入内容...原创 2022-04-21 00:42:57 · 2416 阅读 · 0 评论 -
Python·基本功
学习python,先要掌握好基础知识,练好基本功原创 2022-04-13 00:00:35 · 345 阅读 · 0 评论 -
Python·isinstance
一、函数介绍isinstance()是Python中的一个内建函数。是用来判断一个对象的变量类型。二、使用方法isinstance(object, classinfo)如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。三、强调点在传递实例类型参数后,函数内应使用isinstance函数进行参数检查,不要使用type函数。isinst.原创 2022-04-15 00:39:10 · 811 阅读 · 0 评论 -
Python·os.open和os.fdopen区别
功能描述os.open()创建操作系统级文件描述符,os.fdopen()从文件描述符中创建一个文件对象。文件对象是包含文件描述符的Python类,使文件更方便,容易出错。它们提供了例如错误处理,缓冲,逐行读取,字符集转换,并在收集垃圾时关闭。区别介绍fdopen()方法语法格式如下:os.fdopen(fd, [, mode[, bufsize]]);参数 fd-- 打开的文件的描述符,在Unix下,描述符是一个小整数。 mode-- 可选,和bufsize..原创 2022-04-15 08:51:20 · 1231 阅读 · 0 评论 -
Python·os.path.abspath和os.path.realpath区别
功能区别1.os.path.abspath()返回一个目录的绝对路径(Return an absolute path.)>>> os.path.abspath("/etc/sysconfig/selinux")'/etc/sysconfig/selinux'>>> os.getcwd()'/root'>>> os.path.abspath("python_modu")'/root/python_modu'2.os.path.r原创 2022-04-15 09:01:02 · 3971 阅读 · 0 评论 -
Python·推导式
简介推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。列表推倒式: [结果 for 变量 in 可迭代对象 if 条件筛选] 字典推倒式: {结果(k:v) for 变量 in 可迭代对象 if 条件筛选} 集合推倒式: {结果(k) for 变量 in 可迭代对象 if 条件筛选} 自带去重功能分类1.列表推导式基本格式variable = [out_exp_res for out_exp.原创 2022-04-15 09:10:25 · 88 阅读 · 0 评论 -
Python·subprocess
subprocessrun 方法语法格式如下:subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)args:表示原创 2022-04-15 19:48:10 · 136 阅读 · 0 评论 -
Python·代码性能优化技巧
Python为什么性能差?1、python是动态语言一个变量所指向对象的类型在运行时才确定,编译器做不了任何预测,也就无从优化。举一个简单的例子: r = a + b。 a和b相加,但a和b的类型在运行时才知道,对于加法操作,不同的类型有不同的处理,所以每次运行的时候都会去判断a和b的类型,然后执行对应的操作。而在静态语言如C++中,编译的时候就确定了运行时的代码。另外一个例子是属性查找,关于具体的查找顺序在《python属性查找》中有详细介绍。简而言之,访问对象的某个属性是一个非常复杂的过程,而原创 2022-04-15 20:15:02 · 180 阅读 · 0 评论 -
Python·局部变量和全局变量
一、定义全局变量:所有函数之外定义的变量 局部变量:函数内部定义的变量 或者代码块里的变量二、说明1. 函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义了一个局部变量,不管全局域中有没有该变量名,函数中使用的将是局部变量。(即声明了一个新的局部变量。如果这个变量名字和全部变量名字相同,那么局部变量名字会覆盖全局变量名字。)#[demo1]num = 100 def func(): newValue = 123 #一个全新的局部变量newValue转载 2022-04-15 20:58:36 · 2031 阅读 · 0 评论 -
Python·变量与引用&深浅拷贝
一、 变量与引用变量1 第一次赋值时,即创建,之后 再次赋值 将会改变变量的值。2 变量名本身是没有类型的,类型只存在对象中,变量只是引用了对象。3 所有的变量,必须在使用前 赋值,使用未赋值的变量会产生错误。对象1 对象是有类型的。2 对象是分配的一块内存空间,来表示它的值。3 每一个对象都具有两个标准的头部信息:类型标志符:标识对象的类型。引用计数器:用来决定对象是不是进行回收。Python对象三要素:Id,Type,ValueId:唯一标识一个对象 ...原创 2022-04-15 22:17:12 · 750 阅读 · 0 评论 -
Python·命名空间、闭包、迭代器与生成器
详解Python 命名空间、闭包、迭代器、生成器原创 2022-04-15 22:26:31 · 190 阅读 · 0 评论 -
Python·正则表达式
一、re.match函数re.match 尝试从字符串的开始匹配一个模式。函数语法:re.match(pattern, string, flags=0)函数参数说明:参数 描述 pattern 匹配的正则表达式 string 要匹配的字符串。 flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 匹配成功re.match方法返回一个匹配的对象,否则返回None。我们可以使用group(num) 或 groups原创 2022-04-15 22:55:07 · 153 阅读 · 0 评论 -
Python·@property属性
一、property属性property属性可以用来给属性添加约束,比如温度属性,我们不允许低于-273度;成绩属性,我们不允许0分以下等等。而且使用property属性,将来修改约束条件的时候也很方便,可以在代码的调用方式不变的情况下改变结果。python中使用property属性有两种方法。使用@property装饰器和使用property()函数。这里我们着重学习@property属性二、@property属性@property装饰器就是负责把一个方法变成属性调用的。如下实例就可以通过原创 2022-04-15 23:29:45 · 2562 阅读 · 0 评论 -
Python·匿名函数
一、匿名函数出现的契机在开发当中,一次使用的函数或者是我们不想命名的函数,我们可以写成匿名函数。二、匿名函数定义规则lambda [arg1 [,arg2,.....argn]]:expressionlambda只是一个表达式,函数体比def简单很多。 lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 lambda函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。三、匿名函数实例# 两个数相加的匿名函..原创 2022-04-15 23:34:01 · 594 阅读 · 0 评论 -
Python·偏函数、高阶函数
一、map 函数描述: 接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素。如果传入了多个iterable参数,function 必须接受相同个数的实参并被应用于从所有可迭代对象中并行获取的项。语法: map(function, iterable, …)function:函数iterable:一个或多个序列list(map(abs,[-1,3,-5,8]))[1, 3, 5, 8]list(map(lambda x: x.center(3,'#'),[原创 2022-04-16 00:17:56 · 90 阅读 · 0 评论 -
Python·numpy
Python之Numpy详细教程_cs_程序猿的博客-CSDN博客_numpy转载 2022-04-16 00:19:04 · 72 阅读 · 0 评论 -
Python·元编程
Python中的元编程_带着梦想飞翔的博客-CSDN博客_python 元编程https://blog.csdn.net/u013008795/article/details/94053173转载 2022-04-16 00:20:32 · 67 阅读 · 0 评论 -
Python·pdb调试
python中使用pdb进行调试_xddwz的博客-CSDN博客_pdb调试使用pdb进行调试:pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见表下表。下面结合具体的实例讲述如何使用 pdb 进行调试。1. 测试代码示例 import pdb a = "aaa" pdb.set_trace() b = "bbb" c = "ccc"原创 2022-04-16 00:21:44 · 102 阅读 · 0 评论 -
算法·最大回文数乘积
【题目】给定一个整数 n ,返回 可表示为两个 n 位整数乘积的 最大回文整数 。因为答案可能非常大,所以返回它对 1337 取余 。示例 1:输入:n = 2输出:987解释:99 x 91 = 9009, 9009 % 1337 = 987示例 2:输入: n = 1输出: 9提示:1 <= n <= 8【解法】我们可以从大到小枚举回文数,由于确定了回文数的左半部分,其右半部分也就确定了,因此我们只需要枚举左半部分,同时由于两个 n 位整数的乘积至多原创 2022-04-17 10:53:16 · 152 阅读 · 0 评论 -
算法·贪心算法(1)
贪心算法贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解[1]。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择[1]。贪心算法一般按如下步骤进行:①建立数学模型来描述问题。②把求解的问题分成若干个子问题。③对每个子问题求解,得到子问题的局部最优解。④把子问题的解局部最优解合成原来解问题的一个解。贪心算法是一种对某些求最优解问题的更简单、......原创 2022-04-17 17:00:05 · 760 阅读 · 0 评论 -
算法·四数相加(哈希表)
题目题目1:给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i, j, k, l < nnums1[i] + nums2[j] + nums3[k] + nums4[l] == 0示例 1:输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]输出:2解释:两个元组如下:1. (0,原创 2022-04-17 20:23:01 · 214 阅读 · 0 评论 -
Python·dir()函数
描述dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。语法dir 语法:dir([object])参数说明:object -- 对象、变量、类型。返回值返回模块的属性列表。>>> dir()['__annotations__', '__builtins__', '__doc原创 2022-04-19 22:40:36 · 114 阅读 · 0 评论 -
Python·next()函数
描述next() 返回迭代器的下一个项目。next() 函数要和生成迭代器的 iter() 函数一起使用。语法next 语法:next(iterable[, default])参数说明:iterable -- 可迭代对象 default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。返回值返回下一个项目。实例python中有个csv包(build-in),该包有个reader.原创 2022-04-20 00:14:09 · 2392 阅读 · 0 评论 -
Python·SOLID原则
SOLID原则是由Robert C. Martin提出的以首字母缩写命名的编码准则,它代表了五种不同的编码习惯。如果您遵循这些原则,您就可以通过完善代码的结构和逻辑来提高代码的可靠度。原创 2022-04-20 20:31:13 · 709 阅读 · 0 评论 -
Python·设计模式
设计模式原创 2022-04-21 23:51:06 · 751 阅读 · 0 评论 -
Python·关于 [lambda x: x*i for i in range(4)] 理解
题目lst = [lambda x: x*i for i in range(4)]res = [m(2) for m in lst]print res这个问题涉及到了Python的闭包及延时绑定的知识(Python作用域)。在Python核心编程里,闭包的定义如下:如果在一个内部函数里,对外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认定是闭包。总结为三点:1、是一个内嵌函数2、对外部函数变量引用3、外部函数返回内嵌函数简单的闭包例子:de原创 2022-04-22 00:10:14 · 392 阅读 · 0 评论 -
软件测试·坏味道
1. Duplicated Code (重复代码)重复代码就是不同地点,有着相同的程序结构。一般是因为需求迭代比较快,开发小伙伴担心影响已有功能,就复制粘贴造成的。重复代码很难维护的,如果你要修改其中一段的代码逻辑,就需要修改多次,很可能出现遗漏的情况。如何优化重复代码呢?分三种情况讨论: 同一个类的两个函数含有相同的表达式 classA{publicvoidmethod1(){doSomething1doSomething2......原创 2022-04-22 00:47:38 · 294 阅读 · 0 评论 -
Python·代码覆盖率统计工具coverage用法详解
代码覆盖率统计工具coverage原创 2022-04-23 00:00:44 · 2443 阅读 · 0 评论 -
Python·代码自检工具flake8
Flake8 是“将 PEP 8、Pyflakes(类似 Pylint)、McCabe(代码复杂性检查器)和第三方插件整合到一起,以检查 Python 代码风格和质量的一个 Python 工具”。执行 pip3 install flake8 安装 flake8原创 2022-04-23 14:21:36 · 285 阅读 · 0 评论 -
Python·代码高亮插件YAPF
要把Python代码写漂亮,必须遵循PEP8 Python编码规范:《PEP 8 -- Style Guide for Python Code》。Google发布了一个自动整理Python代码,让其符合PEP8规范的工具:YAPF。第一步,安装并配置YAPF。输入命令:pip install yapf,安装yapf;然后在File->Preferences->Settings,输入python.formatting.provider,然后选择yapf,完成配置。如下图所示。第二步:在原创 2022-04-23 15:00:52 · 1168 阅读 · 0 评论 -
Python·autopep8代码规范检查工具
autopep8简介autopep8是一个开源的命令行工具,它能够将Python代码自动格式化为PEP8风格。autopep8使用pycodestyle工具来决定代码中的哪部分需要被格式化,这能够修复大部分pycodestyle工具中报告的排版问题。autopep8本身也是一个Python语言编写的工具,因此,我们可以直接使用pip进行安装:# pip install autopep8# autopep8 --in-place /path/to/optparse.py '''To mo原创 2022-04-23 16:05:11 · 592 阅读 · 0 评论