自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 24、Python如何使用函数装饰器

装饰器是 Python 中的一种设计模式,用于在不修改函数或类的源代码的情况下,动态地增加或扩展其功能。装饰器本质上是一个高阶函数,它接收一个函数或类作为参数,并返回一个新的函数或类。当我们想为多个函数,统一添加某种功能,比如计时统计、记录日志、缓存运算结果等等。代码封装有一个原则,就是同样的代码不要出现两遍,我们不想在每个函数内都添加完全相同的代码,这时就可以使用装饰器。

2024-10-14 17:10:46 317

原创 23、Python如何实现反向迭代

所以 reversed 函数接收的参数,是一个实现了 __reversed__ 方法的序列对象,可以是字符串、列表、元组,也可以是自定义的。看上面这个列表,怎么反向输出呢,首先可以想到列表的 reverse 方法,然后再迭代 list 是不是就实现了反序,但是有一个问题,就是它改变了原来的列表,这在某些情况下是并不允许的。我们很快又想到了这种方法,切片操作,但是这样也有一个问题,这样我们就创建了一个和原列表等大的新列表,某种意义上这也是非常浪费资源的。反向迭代通常是指从序列的末尾开始进行迭代。

2024-10-14 17:10:39 227

原创 22、Python深入理解生成器

迭代器是实现了迭代器协议(即__iter__()和__next__()方法)的对象;生成器则是使用了yield关键字的函数,当这个函数被调用时,它返回一个生成器对象。生成器是Python中的一种特殊类型的迭代器,允许你逐个生成值而不需要一次性地在内存中存储所有值。使用yield语句来生成一个值序列,而不是像普通函数那样一次性返回一个完整的列表

2024-09-24 13:17:27 132

原创 21、Python如何读写XML

可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。就像其他格式一样,只要你了解这个格式的所有语法和用法,你就可以通过字符串解析和拼接的方式,读取和写入xml文件或字符串,当然这种方式特别不方便,那python有没有为我们提供类库呢?xml.etree.ElementTree是处理XML文件的首选库,因其轻量级和易用性,适合大多数XML读写任务。下面介绍一下如何利用。

2024-09-24 13:17:20 382

原创 项目管理的五大过程组

项目是一个组织通过努力,运用各种方法,将人力、材料和财务等资源组织起来,根据商业模式的相关策划安排,进行一项独立一次性的工作任务,以期达到由数量和质量指标所限定的目标。规划、执行这两个过程其实是一个循环,在执行的过程中我们经常会发现可能有一些新的需求,或者新的变化导致规划需要变更,再整个项目的过程中,这个过程一定是不断发生的,基本很难一帆风顺。从上图可以看出,项目管理的过程中,我们会采用不同的工具和技术手段,目的其实就是为了得到一个相应的输出。监控过程是贯彻整个项目的生命周期的,防止项目跑偏。

2024-09-23 10:10:25 528

原创 项目管理的八大误区

一些企业将做好开发项目的希望寄托在通过PMP的人员身上,要么从外部聘请获得PMP认证的人员,要么鼓励内部员工通过PMP认证。一些想要从事项目经理工作的个人,认为要先考取相应的资质证书才能入行。但是,很多情况下,这些“科班出身”的项目管理专业人员并未有效发挥作用。在实际的工作中,我也认识很多先从事项目管理工作,后期再考取证书的项目经理,都能很好的管理项目。期望通过PMP认证就能做好项目管理与期望通过ISO9000认证就能做好质量管理一样,非常不现实。通过PMP认证是有价值的,应该有助于提升项目管理能力。

2024-09-23 10:10:16 887

原创 项目生命周期的类型

‌项目生命周期的类型包括预测型生命周期、迭代型生命周期、增量型生命周期、适应型生命周期和混合型生命周期。

2024-09-20 09:09:56 820

原创 项目与产品的生命周期

在项目管理领域有两个关键概念,即项目生命周期和产品生命周期。它们是理解项目管理过程中的关键要素。项目生命周期是一个项目从概念到完成所经过的所有阶段。所有项目都可分成若干阶段,且所有项目无论大小,都有一个类似的生命周期结构。阶段数量取决于项目复杂程度和所处行业,每个阶段还可再分解成更小的阶段。

2024-09-20 09:09:47 463

原创 uni-app如何封装公共HTTP请求方法

还有一种封装思路,就是使用 uni.addInterceptor 这个官方提高的拦截器对request方法进行拦截,这样可以做到添加token的处理公共返回结果,但是我觉得还是用Promise的方式使用更舒服,见仁见智吧,都可以。这样使用是不是舒服多了,有的人在这里可能会有疑问,既然已经封装了request,为什么还要把每个请求再封装一次,这就涉及到代码封装的思想问题了,从代码的封装性来说就不能这么干,否则你总会有吃亏那一天的,我刚开始写代码的时候也不会这样写,吃过亏才会长教训。同样的逻辑,比如返回的。

2024-09-19 09:15:59 519

原创 uni-app路由拦截问题,如何实现路由守卫?

我们在做前端页面开发的时候,经常会用到一个功能,就是路由拦截,比如进行登录验证、权限验证之类的,如果使用vue开发,那当然非常简单,直接使用vue-router,这里面有各种各样的拦截器,但是当你用uni-app开发小程序的时候怎么办,很多人就不知道了,今天一个同事问我这个问题,下面我就说一下我的做法。

2024-09-19 09:15:47 1519

原创 20、Python如何读写json数据

在一些复杂的场景中,你可能需要对Python对象进行自定义的序列化和反序列化。通过继承json.JSONEncoder和json.JSONDecoder类并重写相应的方法,你可以实现自定义的JSON编码和解码逻辑。

2024-09-18 09:23:38 785

原创 19、Python如何读写excel文件

它可以实现Excel与Python的双向交互,可以在Excel中执行Python代码,也可以在Python中控制Excel的操作。学习这种工具库的使用方法,或者说学习任何代码的使用,都强烈建议大家去看官方文档学习,你会得到更加系统的知识体系,只通过这种技术文章或者一些教学视频来学习,是非常愚蠢的做法,它会让你的知识体系特别片面。错误的根本原因在于xlrd库的一个重要更新。直接来一个案例,这是某学校考试得分情况的一个汇总excel,我们如何读取这个excel并算出总分,给这个excel拓展一个总分列出来。

2024-09-18 09:23:29 744

原创 18、Python如何读写csv文件

先简单介绍一下格式的文件是什么意思。先看一下百度百科怎么说的。,有时也称为,因为分隔字符),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。简单理解就是,。

2024-09-17 11:34:02 966

原创 17、Python如何读写文本文件

在Python 2和Python 3之间,文件读写操作存在显著差异,主要是因为字符串的语义发生了变化。

2024-09-17 11:33:51 556

原创 16、Python如何使用临时文件和目录

在某些项目中,有时候会有大量的临时数据,比如各种日志,这时候我们要做数据分析,并把最后的结果储存起来,这些大量的临时数据如果常驻内存,将消耗大量内存资源,我们可以使用临时文件,存储这些临时数据。

2024-09-16 16:32:17 1028

原创 14、Python如何将文件映射到内存

首先科普一下,什么叫映射?在计算机程序中,映射(mapping)是一种将一个数据集合中的每个元素(称为“键”)都对应到另一个集合中的唯一元素(称为“值”)的方法。简单理解数组就是映射的一种形式。那显而易见什么是文件映射,就是将的位置,与中一块大小相同的区域之间的一一对应。映射后得到一个类似数组类型的东西(mmap.mmap()对象),可以通过类似操作数组的方式,达到对文件内容更改的目的。

2024-09-16 16:31:27 716

原创 15、Python如何获取文件的状态

下面认识一下 state 模块的一些标识符,注意是 state 模块,不是 os.state()stat.S_ISUID: Set user ID on execution. 不常用stat.S_ISGID: Set group ID on execution. 不常用stat.S_ENFMT: Record locking enforced. 不常用stat.S_ISVTX: Save text image after execution. 在执行之后保存文字和图片。

2024-09-15 15:06:07 1022

原创 13、Python如何设置文件缓冲

什么是I/O操作,看一下百度百科的说法:I/O操作是指对设备与cpu连接的接口电路的操作,不是对外围设备直接进行操作。将文件内容写入到硬件设备时,比如磁盘的扇区,则需要进行系统调用,这类I/O操作的耗时很长,为了减少I/O操作的次数,文件通常使用缓冲区(当需要写入的字节数不足一个块时,将数据放入缓冲区,当数据凑够一个块的大小后才进行系统调用)。如果一个块的大小是4096个字节,则写入一个字节和写入4096个字节,都需要进行一次I/O操作,用时则是相同的。这个块的大小是和磁盘有关的,不同的磁盘是不一样的。

2024-09-15 15:05:56 499

原创 12、Python如何去掉字符串中不需要的字符

使用translate()方法进行字符串转换,通常需要先创建一个转换表。转换表可以使用Python内置的str.maketrans()方法创建,也可以通过 ord() 方法手动创建一个字典来实现。replace() 方法存在一个问题,一次只能替换一个字符,想要替换多个,还要循环执行,那我们其实也可以直接使用正则,一次完成替换。,这样就把字符串删除问题,转换成了字符串替换问题,实现了去掉字符串中不需要的字符的效果。字符串切片可以用来截取字符串的一部分,我们可以利用这个方法来去除字符串中的特定字符。

2024-09-13 15:40:01 738

原创 11、Python如何对字符串进行左、右、居中对齐

在Python中,我们经常会遇到需要对字符串进行对齐的情况,比如左对齐、右对齐或者居中对齐。这在处理文本输出、日志格式化等场景中非常有用。还可以填充数字,做格式化展示。其中,+ 代表输出符号,不论正负,= 代表符号居左,0代表填充0。这是数字对齐的操作办法。其中,* 代表填充内容,^ 代表居中对齐,10代表填充长度。

2024-09-13 15:39:42 395

原创 10、Python多个字符串快速拼接

如果字符串本身就在可迭代对象中,或者字符串中间需要添加一个特殊的字符作为分隔,那么这种方式是非常好的,还可以使用 str.split() 方法重新分隔成列表。BytesIO是Python标准库中的模块,可以用于在内存中创建二进制数据流,需要注意的是,在拼接完成后需要使用getvalue()方法获取拼接后的字符串。使用type()查看,发现它就是一个str类型。使用join()方法时,可以通过赋值的方式指定分隔符,代码简洁,效率高,不会产生临时中间变量,有效避免了由于内存问题导致的代码执行缓慢的问题。

2024-09-12 09:09:27 1035

原创 9、Python字符串格式化

在上面的示例中,通过在字符串前加上 f,可以直接在 {}中使用变量,使得字符串的格式化更加清晰和简洁;除了简单的插入变量外,字符串格式化还支持更多的格式化控制,:.2f 指定了浮点数 pi 的格式,保留小数点后两位。自从 Python 3.6 版本开始,引入了 f-strings,它是一种直观且易用的字符串格式化方法,可以在字符串前加上 f 或 F 来创建格式化字符串。在 Python 中,字符串格式化是一种常见且重要的操作,用于将变量或值插入到字符串中,并控制输出的格式。字符串 (采用str()的显示)

2024-09-12 09:08:04 137

原创 8、Python字符串如何判断是否包含子串,或以子串开头或结尾

Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。in是python内置的保留字符,也是身份运算符,可以用于判断某个子串是否包含于某个字符串,如果包含于,则返回True,否则返回False。判断一个字符串是否包含子串的问题,是一种常见的需求,python提供了多种方式,下面介绍几种操作方式,开拓一下思路。

2024-09-11 09:22:34 1299

原创 7、Python如何拆分含有多种分隔符的字符串

重新梳理上面得思路,就是每次对字符串进行 split ,然后把结果循环,再用一个新的分隔符进行分隔,再把结果处理成一维的,再用循环结果用新的分隔符处理。但是这种代码,学习一下就够了,日常工作中不要这么写,别人去理解你这一串代码是需要时间的,不利于代码的可读性,当然别人如果这么写,我们要能看懂,这就够了。我们要把某个字符串拆分为列表,但是分隔符有多个,如下所示,逗号 、分号 、竖线 以及和号都是分隔符,如何处理?这里拓展一种思路,就是 sum 函数,除了数字求和,也可以计算列表相加使用。

2024-09-11 09:22:20 341

原创 6、Python如何统计序列中元素的频度

Counter 是一个无序的容器类型,以字典的键值对形式存储,其中元素作为 key,其计数作为 value。更上面的循环一个意思,我们有多种方式处理,核心思想都是使用字典存储结果,对列表进行循环,往字典中赋值。传递进来的类型参数,不是用来约束值的类型,更不是约束键的类型,而是当键不存在时,实现一种值的初始化。如果使用字典统计的方式,直接根据字典的值对字典中的项进行排序就可以了,具体可以参考我的这篇文章。当然,也可以使用字典的 fromkeys 函数,创建一个新字典。函数获取出现频率最高的n个元素。

2024-09-10 09:27:19 538

原创 5、Python如何快速找到多个字典的公共键

在 Python3 中,reduce() 已被从全局名字空间里移除了,如果想要使用它,那么需通过引入 functools 模块来调用 reduce() 函数。下面介绍一下reduce函数,reduce() 可以用于对参数序列中的元素进行累积,返回的是一个值。但是,如果你不知道一共有几个字典,这个就没法处理了。这时就需要使用一种更通用的办法。这里就很清晰了,使用reduce一直取交集就可以了。先来创建三个随机字典。

2024-09-10 09:26:07 328

原创 4、Python如何让字典保持有序

start表示开始切片的索引,若为None则表示从序列开头开始;如果未提供,则默认为1。虽然的你的python版本可能字典已经是有序的了,但是,为了更好的兼容性和代码健壮性,个人认为还是应该使用 OrderedDict 有序字典,当然,在未来的某一天,当3.5已经逐渐被淘汰不再使用的时候,可以直接使用dict。把学生的分数和排名存入字典中,可以很方便的查询每个人的成绩和排名。这里,借助了迭代工具的islice函数,用于对可迭代对象进行切片操作。但是,当你需要根据排名查询学生名字的时候,如何做呢?

2024-09-09 10:13:29 346

原创 3、Python根据字典中值的大小, 对字典中的项排序

说到排序,首先想到的就是内置函数 sorted 函数,内置函数要比我们自己写的排序效率要高,但是直接使用sorted函数对字典排序的时候,它是根据字典的键的ASCII编码顺序进行排序的,要想让字典根据值的大小来排序,可以参考下面的方案。sorted函数的格式:sorted(iterable,key,reverse),sorted有iterable,key,reverse三个参数。用来指定按倒序还是顺序排序,reverse=True是倒序,reverse=False是顺序,默认reverse=False。

2024-09-09 10:12:36 420

原创 2、Python为元组中的元素命名,以便提高程序可读性

针对缺点,怎么提高程序的可读性,有几种常用的解决方案,下面来一个常用案例,学生信息系统中的数据(比如:姓名、年龄、性别、身高、电话等)。:在访问元组中数据时,需要使用索引,降低了程序的可读性。:相比较于字典存储格式,使用元组存储数据的最大优点是。对于格式固定的数据,通常使用元组来存储。

2024-09-03 16:03:15 174

原创 1、Python在列表、字典、集合中筛选数据

用这种方式可以实现列表、集合、字典的推导,还可以在列表、字典、集合中快速筛选你需要的数据,下面再介绍一种列表的筛选方式,使用内置的filter函数,filter()函数接收一个。但是这样明显太臃肿了,语法不够简洁,可以尝试 【for in if】组合使用,对这个循环进行简化。,函数 f 的作用是对每个元素进行判断,返回 True或 False,使用这种方式,要创建一个函数,并且比列表解析的方式稍微慢一点。如下所示,想从一个列表中获取大于0的值,首先想到的就是循环。执行顺序从左到右,从外到内。

2024-09-03 15:30:44 383

原创 golang多版本管理工具g

一,Go的项目隔离GVM是一个golang虚拟环境配置工具,其允许一台机器上安装多个golang版本,gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具,或者nodejs的版本管理工具nvm。它是以shell脚本开发的工具,同时兼容bash和zsh,用法和ruby的rvm很像,能做到Go语言版本的切换以及GOPATH的修改。二,下载地址https://github.com/voidint/g/releases三,设置环境变量G_MIRROR =https://gol.

2021-07-08 16:37:58 1322

原创 PHP 把秒数转换为h:i:s格式

把秒数转换为h:i:s格式的方法哟很多,原来我都是自己封装一个函数,如下:function vtime($time) {$output = '';foreach (array(3600 => ':', 60 => ':', 1 => ':') as $key => $value) {if ($time >= $key) $output .= floor($time/$key) . $value;$time %= $key;}...

2020-06-29 18:44:15 906

原创 PHP extract妙用

定义和用法extract() 函数从数组中将变量导入到当前的符号表。该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。该函数返回成功设置的变量数目。语法extract(array,extract_rules,prefix)array 必需。规定要使用的数组。 extract_rules 可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突

2020-06-29 18:22:55 213

原创 PHP base64url_encode

base64编码之后,如果直接作为get参数进行传输,由于url转义的问题,base64之后的字符会被转义,可以使用下面的函数,啥也不说了,上代码:<?phpfunctionbase64url_encode($data) { returnrtrim(strtr(base64_encode($data),'+/','-_'),'=');}functionbase64url_decode($data) { returnbase64_decode(str_pad(s...

2020-06-29 18:19:11 2157

原创 javascript对url特殊字符转义

做页面开发的时候有时候,会使用Javascript的escape(),encodeURIComponent(),encodeURI ()这三个函数进行URL编码,防止特殊字符接收不到。解决方法:就是把客服端中带有特殊字符的参数替换成另一些代替的参数,如下所示1、+ URL 中+号表示空格 %2B2、空格 URL中的空格可以用+号或者编码 %203、 / 分隔目录和子目录 %2F4、 ? 分隔实际的 URL 和参数 %3F5、 % 指定特殊字符 %256、# 表示书签 %237、 &

2020-06-02 16:06:11 10914

原创 WebSocket 简介

一,介绍1,WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议;2,WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据;3,在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。二,好处1,很多...

2018-11-05 10:55:52 228

原创 Socket通信原理剖析

一,什么是TCP/IP、UDP?TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。二,什么...

2018-11-05 10:22:59 271 1

原创 Gulp和webpack的比较

本质:gulp和webpack的本质都是一个node包Nodejs简介在以前 js 要么嵌到 html 页面里,然后用浏览器打开 html 页面才能运行js,要么就是在浏览器开发者工具的 Console 面板里编写运行代码片段。Node的出现使前端开发者有了脱离浏览器工作的能力,相对于把开发者工具的 Console 给抠下来了,从此 js 可以脱离浏览器直接在 node 里运行;js现在有...

2018-10-02 23:52:16 1541

用户京东618叠蛋糕js脚本

使用前请先安装autojs,js脚本,用户京东618叠蛋糕活动,配合autojs使用,可以自动完成活动叠蛋糕层数

2020-06-02

gulp学习脑图

整理出来的一个gulp学习脑图,帮助大家全面的学习gulp使用技巧,当然你也可以去看官方文档。

2018-10-02

空空如也

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

TA关注的人

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