自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多态真的有用吗?使用在哪些场景?

多态真的有用吗?今天番茄加速就来说一说。如果说OOP的封装和继承使用起来更加直观易用,那么作为第三大特性的多态,在实践中真正运用起来就不那么容易。有的读者OOP编程初期,可能对多态的价值体会不深刻,甚至都已经淡忘它的存在。那么问题就在:多态到底真的有用吗?到底使用在哪些场景?多态价值很大,使用场景很多,几乎所有的系统或软件,都能看到它的应用。这篇文章尽可能通过一个精简的例子说明它的价值和使用方法。如果不用多态,方法怎么写;使用多态,又是怎么写。为了一脉相承,做到一致性,仍然基于上面的案例,已经创建好

2021-02-24 09:33:30 1456

原创 Regexbuddy有什么用

Regexbuddy有什么用?今天番茄加速就来说一下。想必您一定听说过正则匹配和替换,也一定知道它的强大,它的简洁。的确,使用它可以帮助我们实现很多复杂的功能,同时也会让我们少写很多行代码。正则是很强大,不过要想实现这种效果,需要我们付出一些代价,比如:正则语法规相对较多,我们得花时间去学;正则表达式使用起来比较容易出错;错一点都不会实现想要的功能,弄不好就出一个bug那么,有没有办法降低使用它的代价成本呢?如果有一款小工具,我们在里面输入一个正则表达式,再输入几个测试例子,立即所见所得,验证

2021-02-22 18:40:58 451

原创 如何使用deque增删数据?

如何使用deque增删数据?今天番茄加速就来讲一下。基本用法 deque 双端队列,基于list优化了列表两端的增删数据操作。基本用法:from collections import dequeIn [3]: d = deque([3,2,4,0])In [4]: d.popleft() # 左侧移除元素,O(1)时间复杂度Out[4]: 3In [5]: d.appendleft(3) # 左侧添加元素,O(1)时间复杂度In [6]: dOut[6]: deque([3, 2, 4, 0

2021-02-20 18:38:11 226

原创 Pandas框架,最专业的Python分析工具包

Pandas框架,最专业的Python分析工具包。具体是怎么回事呢?今天番茄加速就来说一下。Pandas有一个单独的数据操作模块,包括 15 个,全是设计上最顶层的函数。它们大致可以分类为:数据透视相关;数据分箱相关;多个数据表融合相关;分类变量的数值化相关。借助这 4 类函数可完成对数据的一些重要分析。下面依次介绍。数据透视相关包括:melt, pivot, pivot_table, crosstab. melt 变换宽格式数据为长格式,通俗点说就是列数变少了,行数变多了。我们可以试着想想,如何实现。

2021-02-08 17:09:04 202 1

原创 pyright是一个静态类型检查器

pyright是一个静态类型检查器。具体是怎么回事呢?今天番茄加速就来讲一下。Python是一个动态语言,代码加载到内存并运行至某行时,变量类型才真正得以确定,如下,在运行至第2行前,编译器不知道 name 的类型为 str.before()name = ‘robot’after()毋庸置疑,python 这种语法,书写起来相当简洁,不用像 c++,java 等语言那样,必须声明类型。看待任何事情都要用辩证思维,此处也不例外。简洁的语法,带来了一些副作用,下面用一个最简单的例子说明副作用。py

2021-02-07 17:39:55 258

原创 __name__ == ‘__main__‘有什么用?

name == 'main’有什么用?今天番茄加速就来分析一下。曾几何时,看这别人代码这么写,我们也就跟着这么用吧,其实还没有完全弄清楚这行到底干啥。def mymain():print(‘Doing something in module’, name)if name == ‘main’:print(‘Executed from command line’)mymain()加入上面脚本命名为 MyModule,不管在 vscode 还是 pycharm 直接启动,则直接打印出:Execut

2021-02-06 17:45:15 97

原创 函数式编程如何识别闭包?

函数式编程如何识别闭包?今天番茄加速就来分析一下。先从一种比较好理解的方式入手,我们不使用 lambda,那样貌似把闭包隐蔽的太厉害了,不容易辨识出是闭包。不过,下面这种方式,还是比较容易就能看出来吧。In [19]: def exfun():…: funli = []…: for i in range(3):…: def intfun(x):…: print( x*i)…: funli.append(intfun)…: return funli…:…:就是生成了一个list,里面的

2021-02-05 18:04:39 93

原创 如何打印当前时间?

如何打印当前时间?今天番茄加速就来分享一下。下面介绍最基本3个对象的最基本用法。首先,从datetime模块导入3个对象。In [1]: from datetime import date,time,datetime构造一个日期date实例,2020年9月1日:In [2]: date(2020,9,1)Out[2]: datetime.date(2020, 9, 1)构造一个时间time实例,10点10分0秒:In [3]: time(10,10,0)Out[3]: datetime.ti

2021-02-04 17:52:00 830

原创 NumPy生成数组的4个常用函数

NumPy生成数组的4个常用函数是哪些呢?今天番茄加速就来讲一下。对于更大的数组,手动初始化数据是不现实的,比如使用python的list. 我们得用numpy提供的函数才能生成不同形式的数组。今天列举4个常用的函数。arange函数arange函数:起始点,终点,步长;不包括终点In [2]: x = arange(0,10,1)In [3]: xOut[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])In [4]: x = arange(-1, 1, 0

2021-02-03 18:11:56 1332 2

原创 装饰器如何装饰一个函数

装饰器如何装饰一个函数?今天番茄加速就来讲一下。printStar函数接收一个函数f,返回值也是一个函数,所以满足装饰器的结构要求,所以printStar是一个装饰器。def printStar(f):def g():print(’*’*20)f()print(’*’*20)return gprintStar装饰器实现f函数执行前、后各打印20个*字符。使用printStar:@printStardef f():print(‘hello world’)调用:if name ==

2021-02-02 17:40:03 176

原创 如何让嵌套数组完全展开?

如何让嵌套数组完全展开?今天番茄加速就来说一下。打印乘法表for i in range(1,10):for j in range(1,i+1):print(’{0}{1}={2}’.format(j,i,ji),end="\t")print()结果:1*1=112=2 22=413=3 23=6 3*3=914=4 24=8 34=12 44=1615=5 25=10 35=15 45=20 5*5=2516=6 26=12 36=18 46=24 56=30 66=3617=7

2021-02-01 17:41:02 458

空空如也

空空如也

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

TA关注的人

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