文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

3个提高Python开发效率的小工具

2024-12-03 05:12

关注

本文将介绍的三个小工具如下:

详细内容介绍如下。

在Sublime Text中支持Python运行

在平时工作中,我们通常用PyCharm开发Python工程,也可以用Vim编辑和查看Python脚本。但是,如果我们仅仅想创造一个单独的脚本来实现某些功能,那么用PyCharm会显得大题小做,用Vim又不方便编辑。这时候,我们可以借助文本编辑器,比如Sublime Text,来实现Python脚本的编辑和运行。     

Sublime Text是Mac系统支持的文本编辑器,Notepad++不支持Mac系统。     如果我们想在Sublime Text中支持Python运行,需要做一些设置。     

打开Sublime Text的Tools,选择Build System中的New Build System...,会出现脚本,我们修改其中的内容如下: 

  1.  
  2.     "cmd": ["D:/Anaconda3/python3.7.exe","-u","$file"],  

其中cmd中对应的列表的第一项为Python的安装路径。编辑完后,在默认位置保存文件,比如刚才的文件名为Python3.7.sublime-build。

这时候我们再去看Tools中,已经出现了刚才编辑的Python3.7的环境,选择该项,我们就可以在Sublime Text中运行Python脚本了。

我们示例的Python脚本为test.py,代码如下: 

  1. import numpy as np  
  2. matrix = np.array([[0, 1, 2],  
  3.                    [2, 4, 5]  
  4.                    ])  
  5. print(matrix[1, 2])  
  6. print("Hello world from Sublime Text.") 

点击Tools中的Build或者Ctrl+B运行程序,结果如下:

同样,在Windows系统中也可以这样设置,方便又使用。  

至于Notepad++是否有相似的功能,还有待研究。

在Mac系统的iTerm2中支持查看图片

iTerm2是Mac系统很好用的终端工具,本文不过多介绍iTerm2,而是介绍如何直接在iTerm2中查看图片,这样可以方便我们在终端直接查看图片。    

我们使用的工具为imgcat。

在iTerm2中新建shell脚本imgcat.sh,里面的内容可以参考网址:  https://www.iterm2.com/utilities/imgcat,编辑完文件后保存,并用chmod u+x imgcat.sh赋予执行权限。     

这样就可以直接查看图片了。什么,这么简单?对,就是这么简单!     

在笔者电脑上的效果如下:

Python中的typing模块介绍

typing模块是Python中提供类型支持的模块,它的主要作用为:

类型检查,防止运行时出现参数和返回值类型不符合。

作为开发文档附加说明,方便使用者调用时传入和返回参数类型。

该模块加入后并不会影响程序的运行,不会报正式的错误,只有提醒。

简单来说,使用typing模块我们可以对参数的类型做注释并检查,它不会影响程序运行,而这是提醒。总所周知,在Python中调用函数或变量时,不需要对参数或变量进行类型说明,这样虽然方便程序编写,但不利于程序阅读,有了typing模块,可以增加程序的可阅读性,同时也能提升代码的可维护性和健壮性。

举个简单的例子,我们实现一个函数digits_sum,输入参数为字符串,比如"352",输出该数字上的各个数位上的数字之和,比如10。有了typing模块,我们的代码如类似如下: 

  1. from typing import *  
  2. # 创建函数  
  3. def digits_sum(num:str) -> int:  
  4.     digits_arr = map(lambda x: int(x), num)  
  5.     return sum(digits_arr)  
  6. # 测试  
  7. num = "352"  
  8. result = digits_sum(numnum=num)  
  9. print(result) 

输出结果为10。对上面的程序做点说明,其中第一句中的from typing import *可以不必写,因为str,int都是Python内置的数据类型。函数声明为def digits_sum(num:str) -> int,括号内的num类型为str,箭头后的int表示函数的输出结果数据类型为int。  我们再给出一个例子。函数dict_multipy,输入为字典,如果key值对应的value的数据类型为float或者int型,则乘以2,否则跳过,那么输出也为字典。程序如下: 

  1. from typing import Dict, Any  
  2. # 创建函数  
  3. def dict_multipy(d: Dict[str, Any]) -> Dict[str, float or int]:  
  4.     new_dict = {}  
  5.     for k, v in d.items():  
  6.         if isinstance(v, (float, int)):  
  7.             new_dict[k] = v * 2  
  8.     return new_dict  
  9. # 测试  
  10. d = {"no": "100", "age": 12, "work_year": 3, "name": "JC"}  
  11. new_d = dict_multipy(dd=d)  
  12. print(new_d) 

输出结果为{'age': 24, 'work_year': 6}。在函数声明中,d为字典,其key值为str,val为任意类型(Any),输出为字典,key值为str,val值为float或者int。  当然,我们还可以在typing创建别名或者新的数据类型,以下就是一个例子。更多的使用方法可以参考typing模块的官方网址:https://docs.python.org/zh-cn/3.6/library/typing.html 。 

  1. from typing import List  
  2. # 取List[float]别名为Vector  
  3. Vector = List[float]  
  4. def scale(scalar: float, vector: Vector) -> Vector:  
  5.     return [scalar * num for num in vector]  
  6. new_vector = scale(2.0, [1.0, -4.2, 5.4]) 

本次分享到此结束,感谢大家阅读~ 

 

来源:马哥Linux运维内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯