MiniPy
Sublime Text 3 插件 - Python 行内评估
详细信息
安装次数
- 总数 2K
- Win 943
- Mac 565
- Linux 386
8 月 6 日 | 8 月 5 日 | 8 月 4 日 | 8 月 3 日 | 8 月 2 日 | 8 月 1 日 | 7 月 31 日 | 7 月 30 日 | 7 月 29 日 | 7 月 28 日 | 7 月 27 日 | 7 月 26 日 | 7 月 25 日 | 7 月 24 日 | 7 月 23 日 | 7 月 22 日 | 7 月 21 日 | 7 月 20 日 | 7 月 19 日 | 7 月 18 日 | 7 月 17 日 | 7 月 16 日 | 7 月 15 日 | 7 月 14 日 | 7 月 13 日 | 7 月 12 日 | 7 月 11 日 | 7 月 10 日 | 7 月 9 日 | 7 月 8 日 | 7 月 7 日 | 7 月 6 日 | 7 月 5 日 | 7 月 4 日 | 7 月 3 日 | 7 月 2 日 | 7 月 1 日 | 6 月 30 日 | 6 月 29 日 | 6 月 28 日 | 6 月 27 日 | 6 月 26 日 | 6 月 25 日 | 6 月 24 日 | 6 月 23 日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
说明文件
MiniPy
Sublime Text 3 插件 - Python 行内评估。
功能
作为计算器
例如,您可以编写 3.14*0.6
并在您的文本中得到结果 1.884
。它也支持多选。
在光标位置增加计数器
另一个特性是使用 $ 作为累加变量,例如有以下多选
arr[$]
arr[$]
arr[$]
会得到
arr[1]
arr[2]
arr[3]
类似地
arr[0 ] arr[0]
arr[$+2] -> arr[3]
arr[$*3] arr[6]
通用 Python 评估器
除此之外,您还有以下导入可用
from math import *
from random import *
from collections import Counter
import datetime
import re # though you should probably use the build in regex features of ST instead.
因此您可以做
Counter(('Ann', 'Bob', 'Bob', 'Michael')) -> Counter({'Bob': 2, 'Ann': 1, 'Michael': 1})
Counter(('Ann', 'Bob', 'Bob', 'Michael', 'michael')) -> Counter({'Bob': 2, 'Ann': 1, 'michael': 1, 'Michael': 1})
Counter(name.title() for name in ('Ann', 'Bob', 'Bob', 'Michael', 'michael')) -> Counter({'Bob': 2, 'Michael': 2, 'Ann': 1})
计算校验和
并且函数 md5
和 sha1
返回输入字符串化的相应十六进制摘要,例如 md5(['foo', 'bar', 'baz']) = dbb432a3f0ac1a2687911715dfbf7502
。请注意,您可以哈希列表,因为它是被哈希的列表的字符串表示形式!
Python 的 hashlib.md5
和 hashlib.sha1
函数在名称 _md5
和 _sha1
下可用。
插入日期和时间
函数 dnow
、tnow
和 dtnow
分别返回当前的日期、时间和日期时间字符串格式
dnow() -> 03/05/2017
tnow() -> 09:36:03
dtnow() -> 03/05/2017 09:36:03
请注意,需要在函数名称后加括号来调用函数。
使用集合进行计算
虽然您可以使用常规 Python 来进行集合计算,但还有一些函数包含一些方便的功能:set_intersect
、set_difference
和 set_symdiff
。
这些函数接受两个可迭代参数,并将它们转换为集合,然后执行计算
set_intersect('foo bar', 'foo baz') -> {'b', ' ', 'a', 'f', 'o'}
set_intersect('foo baz', 'foo bar') -> {'b', 'a', ' ', 'o', 'f'}
set_difference('foo baz', 'foo bar') -> {'z'}
set_difference('foo bar', 'foo baz') -> {'r'}
set_symdiff('foo baz', 'foo bar') -> {'z', 'r'}
set_symdiff('foo bar', 'foo baz') -> {'z', 'r'}
计算累计总和和乘积
计算可迭代对象的累计总和
cumsum([1,2,3,4,5]) -> [1, 3, 6, 10, 15]
cumsum([0.02809, 0.05619, 0.08646, 0.11919, 0.15192, 0.18465, 1.31694]) -> [0.02809, 0.08428, 0.17074, 0.28993, 0.44185, 0.6265000000000001, 1.94344]
以及累计乘积
cumprod([1, 2, 3, 4, 5]) -> [1, 2, 6, 24, 120]
cumprod([0.02809, 0.05619, 0.08646, 0.11919, 0.15192, 0.18465, 1.31694]) -> [0.02809, 0.0015783771, 0.000136466484066, 1.626544023582654e-05, 2.471045680626768e-06, 4.5627858492773275e-07, 6.008915196347284e-07]
但是,做大量小数的乘积容易出现错误,因此我们可以使用一个数学技巧
,其中 A 是可迭代的。这将提高数值稳定性,如本例所示
cumprod([1e-8, 1e-9, 1e-10, 1e-11, 1e-12, 1e-13, 1e-14]) -> [1e-08, 1e-17, 1e-27, 1e-38, 9.999999999999999e-51, 9.999999999999999e-64, 1e-77]
cumprod([1e-8, 1e-9, 1e-10, 1e-11, 1e-12, 1e-13, 1e-14], use_logsum=True) -> [9.999999999999982e-09, 9.99999999999999e-18, 1.0000000000000022e-27, 9.999999999999936e-39, 9.999999999999944e-51, 1.0000000000000049e-63, 9.999999999999967e-78]
cumprod([1e-8, 1e-9, 1e-10, 1e-11, 1e-12, 1e-13, 1e-14], use_logsum=True) -> # same result as above.
数字格式化
函数 formatnum
格式化数字,需要两个强制参数和一个可选参数
num : 正在格式化的数字。
digits : 想要的格式化数字中的位数。
scientificNotation : 是否使用科学记数法。: 可以是 True, False 或 int,其中 int 是数字当未使用科学记数法格式化时,长度达到多少字符数就切换到科学记数法。: 这是默认行为,设置为 8。
示例用法
formatnum(0.123456789, 4) -> 0.1235
formatnum(0.123456789, 9) -> 1.234567890e-01
formatnum(123456789.0, 9) -> 1.234567890e+08
formatnum(123456789.0, 2) -> 1.23e+08
formatnum(123.456789, 12) -> 1.234567890000e+02
formatnum(123.456789, 12, False) -> 123.456789000000
formatnum(123.456789, 3) -> 123.457
formatnum(3.14159, 4) -> 3.1416
formatnum(3.14159, 3) -> 3.142
formatnum(3.14159, 2) -> 3.14
formatnum(3.14159, 2, True) -> 3.14e+00
formatnum(3.141592653589793238462643, 3) -> 3.142
将时间戳转换为人类可读的时间
函数 ts
将时间戳作为 Unix 时间(自纪元以来秒数)转换为字符串,使用提供的格式
ts(1478002058.368) -> 2016-11-01T12:07:38.368000+0000
ts(1478002058.368, '%Y%m%d') -> 20161101
用法
要评估术语,请高亮显示并
Super + Shift + X for Mac OS X
Ctrl + Shift + X for Windows/Linux