本文将介绍一些好用的小工具,可以帮助我们提高工作效率。本文将介绍笔者在过去一周发现的三个小工具,写文章记录一下,希望对大家有所帮助。本文将要介绍的三个小工具分别是:支持在SublimeText中运行Python;支持在Mac电脑上使用iTerm2查看图片;Python的typing模块简介。详情如下。支持Python在SublimeText中运行在平时的工作中,我们通常使用PyCharm来开发Python项目,也可以使用Vim来编辑和查看Python脚本。但是,如果我们只是想单独创建一个脚本来实现某些功能,那么使用PyCharm就会显得小事一桩,而使用Vim编辑起来也不方便。这时候我们可以使用文本编辑器,比如SublimeText,来编辑运行Python脚本。SublimeText是Mac系统支持的文本编辑器,Notepad++不支持Mac系统。如果我们要支持Python在SublimeText中运行,我们需要做一些设置。打开SublimeText的Tools,在BuildSystem中选择NewBuildSystem...,就会出现脚本。我们修改内容如下:{"cmd":["D:/Anaconda3/python3.7.exe","-u","$file"],}我们的示例Python脚本是test.py,代码为如下:importnumpyasnpmatrix=np.array([[0,1,2],[2,4,5]])print(matrix[1,2])print("HelloworldfromSublimeText.")在点击Build或者Ctrl+B工具运行程序,结果如下:同样,也可以在Windows系统中设置,方便易用。至于Notepad++是否有类似的功能,还有待研究。支持在Mac系统的iTerm2中查看图片iTerm2是一款非常好用的Mac系统终端工具。本文不多介绍iTerm2,而是介绍如何在iTerm2中直接查看图片,方便我们直接在终端查看图片。我们使用的工具是imgcat。在iTerm2中新建一个shell脚本imgcat.sh,里面的内容可以参考网址:https://www.iterm2.com/utilities/imgcat,编辑好后保存文件,使用chmodu+ximgcat.sh即可授予执行权限。这样就可以直接查看图片了。什么,这么简单?是的,就这么简单!在笔者电脑上的效果如下:Python中的typing模块简介typing模块是Python中提供类型支持的模块。它的主要作用是:类型检查,防止运行时参数和返回值的类型不匹配。作为开发文档的附加说明,方便用户在调用时传入和返回参数类型。添加模块后,不会影响程序的运行,也不会报形式上的错误,只是提示。简单来说,使用typing模块,我们可以注解和检查参数的类型,不会影响程序的运行,只是一个提醒。众所周知,在Python中调用函数或变量时,不需要指定参数或变量的类型。这虽然方便程序编写,但不利于程序阅读。有了typing模块,可以增加程序的可读性,同时可以提高代码的可维护性和健壮性。举个简单的例子,我们实现一个函数digits_sum,输入参数是一个字符串,比如“352”,输出是数字的每一位上的数字之和,比如10。配合打字模块,我们的代码如下:fromtypingimport*#createfunctiondefdigits_sum(num:str)->int:digits_arr=map(lambdax:int(x),num)returnsum(digits_arr)#testnum="352"result=digits_sum(numnum=num)print(result)输出为10。为了解释上面的程序,第一句的fromtypeimport*不用写,因为str和int是Python内置的数据类型。函数声明为defdigits_sum(num:str)->int,括号中num的类型为str,箭头后面的int表示函数的输出数据类型为int。我们再举一个例子。函数dict_multipy,输入是一个字典,如果key值对应的value的数据类型是float或者int,则乘以2,否则skip,那么输出也是一个字典。程序如下:fromtypingimportDict,Any#Createfunctiondefdict_multipy(d:Dict[str,Any])->Dict[str,floatorint]:new_dict={}fork,vind.items():ifisinstance(v,(float,int)):new_dict[k]=v*2returnnew_dict#testd={"no":"100","age":12,"work_year":3,"name":"JC"}new_d=dict_multipy(dd=d)print(new_d)输出为{'age':24,'work_year':6}。函数声明中,d是一个字典,它的键值为str,val是任意类型(Any),输出是一个字典,键值为str,val值为float或int。当然我们也可以在打字中创建别名或者新的数据类型,下面是一个例子。更多使用方法请参考typing模块官网:https://docs.python.org/zh-cn/3.6/library/typing.html。fromtypingimportList#TakeList[float]别名asVectorVector=List[float]defscale(scalar:float,vector:Vector)->Vector:return[scalar*numfornuminvector]new_vector=scale(2.0,[1.0,-4.2,5.4])本次分享到此结束,感谢阅读~
