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

目录
  • 在Sublime Text中支持Python运行
  • 在Mac系统的iTerm2中支持查看图片
  • Python中的typing模块介绍

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

  • Sublime Text中支持Python运行;
  • 在Mac电脑的iTerm2中支持查看图片;
  • Python的typing模块介绍。

详细内容介绍如下。

在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…,会出现脚本,我们修改其中的内容如下:

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

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

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

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

import numpy as np

matrix = np.array([[0, 1, 2],
                   [2, 4, 5]
                   ])

print(matrix[1, 2])

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模块,我们的代码如类似如下:

from typing import *

# 创建函数
def digits_sum(num:str) -> int:
    digits_arr = map(lambda x: int(x), num)
    return sum(digits_arr)

# 测试
num = "352"
result = digits_sum(num=num)
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,否则跳过,那么输出也为字典。程序如下:

from typing import Dict, Any

# 创建函数
def dict_multipy(d: Dict[str, Any]) -> Dict[str, float or int]:
    new_dict = {}
    for k, v in d.items():
        if isinstance(v, (float, int)):
            new_dict[k] = v * 2

    return new_dict

# 测试
d = {"no": "100", "age": 12, "work_year": 3, "name": "JC"}
new_d = dict_multipy(d=d)
print(new_d)
Python

输出结果为{‘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。

from typing import List

# 取List[float]别名为Vector
Vector = List[float]

def scale(scalar: float, vector: Vector) -> Vector:
    return [scalar * num for num in vector]

new_vector = scale(2.0, [1.0, -4.2, 5.4])

到此这篇关于提高 Python 开发效率的3个小工具的文章就介绍到这了,更多相关  Python 开发3个小工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python基于Tkinter开发一个爬取B站直播弹幕的工具

    简介 使用Python Tkinter开发一个爬取B站直播弹幕的工具,启动后在弹窗中输入房间号即可,弹幕内容会保存在脚本文件同级目录下的.log扩展名的文件中 开发工具 python 3.7.9 pycharm 2019.3.5 实现代码 import threading import time import tkinter.simpledialog # 使用Tkinter前需要先导入 from tkinter import END, messagebox import requests # 全

  • 用python开发一款操作MySQL的小工具

    项目地址 https://github.com/lishukan/directsql 安装 pip3 install directsql 导入 directsql 目前只提供三个外部类 __all__=["SqlGenerator","MysqlConnection","MysqlPool"] 导入方式 from directsql.sqlgenerator import SqlGenerator #该类用于生成sql语句 #下面是一个池化连接对

  • Python开发工具Pycharm的安装以及使用步骤总结

    前言 PyCharm是一种Python 的IDE工具(集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,内部集成的功能如下: Project管理 智能提示 语法高亮 代码跳转 调试代码 解释代码(解释器) 框架和库 ...... 总而言之,PyCharm 是一款功能强大的 Python 编辑器,推荐以后编写Python代码,主要用的就是这款IDE. 一.Pycharm下载 先登陆Pycharm官网或者直接输入Pycharm下载地址:https://www.jet

  • python flask开发的简单基金查询工具

    项目地址: https://github.com/guodongggg/fund 1) 启动方法 (非必须)修改new.csv,参照test.csv,首行为基金代码,其次为每支基金在指定日期内的操作,正值为买入金额,负值为赎回份额.具体项目参照x_alpha项目 修改code_list.json文件的prodect为你自己的基金代码,修改count为每支基金的金额,执行同级目录下的update_code_list.py,自动更新持仓百分比 执行python run.py ps:初始化比较麻烦,我

  • python开发的自动化运维工具ansible详解

    目录 ansible 简介 ansible 是什么? ansible 特点 ansible 架构图 ansible 任务执行 ansible 任务执行模式 ansible 执行流程 ansible 命令执行过程 ansible 配置详解 ansible 安装方式 使用 pip(python的包管理模块)安装 使用 yum 安装 ansible 程序结构 ansible配置文件查找顺序 ansible配置文件 ansuble主机清单 ansible 常用命令 ansible 命令集 ansible

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

    目录 在Sublime Text中支持Python运行 在Mac系统的iTerm2中支持查看图片 Python中的typing模块介绍 本文将介绍的三个小工具如下: 在Sublime Text中支持Python运行: 在Mac电脑的iTerm2中支持查看图片: Python的typing模块介绍. 详细内容介绍如下. 在Sublime Text中支持Python运行 在平时工作中,我们通常用PyCharm开发Python工程,也可以用Vim编辑和查看Python脚本.但是,如果我们仅仅想创造一个

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

    目录 在SublimeText中支持Python运行 在Mac系统的iTerm2中支持查看图片 Python中的typing模块介绍 本文将介绍的三个小工具如下: 在Sublime Text中支持Python运行: 在Mac电脑的iTerm2中支持查看图片: Python的typing模块介绍. 详细内容介绍如下. 在Sublime Text中支持Python运行 在平时工作中,我们通常用PyCharm开发Python工程,也可以用Vim编辑和查看Python脚本.但是,如果我们仅仅想创造一个单

  • python 提高开发效率的5个小技巧

    很多时候学习是一种难者不会,会者不难的事情. 下面的5个python技巧是性价比极高的知识点,一学就会,不难但是相当管用. 使用交互模式 使用python -i xxxx.py可以直接进入python的交互模式,可以很方便的调用xxxx.py中定义的方法和函数,特别适合调试没有main()方法的文件,强力推荐. 使用pdb进行调试 很多从c++/java转到python的同学可能对python没有断点功能相当失望. 其实python自带的pdb库就可以解决这个问题. 看这个例子. def sum

  • SpringBoot和Swagger结合提高API开发效率

    现在Web开发越来越倾向于前后端分离,前端使用AngularJS,React,Vue等,部署在NodeJS上,后面采用SpringBoot发布Rest服务,前后端进行分离.这样的架构灵活且特别适合大型团队的协作开发. 那么问题来了,因为前端都是和后端通过API进行交互的,那么前后端的Rest API的接口如何进行定义和沟通呢?首先想到的应该就是Swagger. 那么什么是Swagger,Swagger™的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看

  • 使用WEB工具快速提高Android开发效率

    正所谓工欲善其事,必先利其器.学习并应用优秀的轮子,可以让我们跑的更快,走的更远.这里所指的工具是广义的,泛指能帮助我们开发的东西,或者能提高我们效率的东西,包括:开发工具,监测工具,第三方代码库等. 在Google的广大支持下,便捷开发Android程序的Native工具层出不穷.其实Android开发涉及到的范围也不小,一些Web工具有时候也会带来事半功倍的效果.有些甚至是一些native应用无法做到的.本文,将简单列举一下本人正在使用的一些工具,当然也会持续更新. 查找优秀的参考工程 co

  • 教你如何用python开发一款数字推盘小游戏

    今年年初,新一季的<最强大脑>开播了,第一集选拔的时候大家做了一个数字游戏,名叫<数字华容道>,当时何猷君以二十几秒的成绩夺得该项目的冠军,看了这个游戏之后我决定要写一个<数字华容道>的程序,过去了半年,我终于记起了这件事,今天就来实现. 数字推盘游戏(n-puzzle)是一种智力游戏,常见的类型有十五数字推盘游戏和八数字推盘游戏等.十五数字推盘游戏的板上会有十五个方块和一个大小相当于一个方块的空位(供方块移动之用),当15个数字依次排序并且最后一个格子为空位即代表挑战

  • 基于Python制作B站视频下载小工具

    目录 1. 原理简介 2. 网页分析 3. 视频爬取 4. 存入本地 5. GUI工具制作 1. 原理简介 原理很简单,就是获取视频资源的源地址,然后爬取视频的二进制内容,再写入到本地即可. 2. 网页分析 打开该网页,然后F12进入开发者模式,接着点开网络—>全部,因为视频资源一般比较大,我这里根据大小进行了从大到小的排序,找到了第一条这些可能和视频源地址有关. 然后,我们复制找到的这条里的url部分不变的部分,回到元素中ctrl+F搜索,找到了可能和视频源地址有关的节点. 果然,我们复制这部

  • 利用Python编写简易的录制屏幕小工具

    目录 1.准备 2.代码 由于最近测试需要录制系统界面的操作过程,因为都是全屏的操作,所以用python做一个简单的录屏小工具. 实现过程也是比较简单,就是通过对屏幕操作进行不断的截图,最后将截图合成一个操作视频的过程.由于我们只是做简单的截屏功能,并没有加入音频效果. 1.准备 开始之前我们还是按照以往的方式介绍一下使用到的第三方的python模块. from PIL import ImageGrab import numpy as np import cv2 import datetime

  • 十条建议帮你提高Python编程效率

    程序员的时间很宝贵,Python这门语言虽然足够简单.优雅,但并不是说你使用Python编程,效率就一定会高.要想节省时间.提高效率,还是需要注意很多地方的. 今天就与大家分享资深Python程序员总结的10点建议,帮助大家大幅节省开发时间. 1. 不使用分号 使用分号在 Python 中是可选的:与其他面向对象语言不同,你不需要在每一条语句后面使用分号. 这看起来很简单,似乎也节省不了多少时间:但一旦你的代码量扩展到数千号,这些分号就变得分心且没有必要键入. 2. 使用称手的代码编辑器 选择一

  • 利用Python实现颜色色值转换的小工具

    先看看Zeplin 的颜色色值显示示例 原有处理方式 因为我会 Python (仅限于终端输入 python 然后当做计算器算,或者用 hex() 函数把十进制转换成十六进制),所以遇到这样的问题我当然是采用python 的 hex() 函数做转换,然后手动结果输入到 Android Studio 中. 采用 hex 函数手动转换色值 动机 人总是懒得,想要写这个小工具已经很久了,我也打过有过构思就是: 输入: 类似 RGB 的十进制值(110, 122 138),用空格或者逗号分割一下. 输出

随机推荐