Open nobodxbodon opened 5 years ago
参考"Python Cookbook第三版", 把计划中的先分功能块列举如下, 第一章是数据结构/算法:
deque
)货品清单 = [{'名称': '台式机', '数量': 5}, {'名称': '笔记本', '数量': 10}, {'名称': '显示器', '数量': 15}]
{
'奇数': {1, 3, 5},
'偶数': {2, 4, 6}
}
{
'奇数': [1, 3, 5],
'偶数': [2, 4, 6]
}
OrderedDict
zip
). 如取数量最大/小的物品:
货品清单 = {
'台式机': 5,
'笔记本': 10,
'显示器': 15
}
仓库1 = {
'台式机': 5,
'笔记本': 10,
'显示器': 15
}
仓库2 = {
'键盘': 5,
'笔记本': 20,
'显示器': 15
}
用户
类的用户id
对几个用户进行排序:
class 用户:
def __init__(self, 用户id):
self.用户id = 用户id
def __repr__(self):
return '用户({})'.format(self.用户id)
nametuple
), 没想好描述(Mapping Names to Sequence Elements)
>>> from collections import namedtuple
>>> 用户 = namedtuple('用户', ['邮件', '加入时间'])
>>> 用户1 = 用户('xiaohong@test.com', '2019-01-01')
>>> 用户1
用户(邮件='xiaohong@test.com', 加入时间='2019-01-01')
>>> 用户1.邮件
'xiaohong@test.com'
>>> 用户1.加入时间
'2019-01-01'
any
, min
, max`等:
sum(x *x for x in range(1, 4))
ChainMap
)1.1 将列表拆成变量 -- 难以找到有代表性的代码片段 1.2 Unpacking Elements from Iterables of Arbitrary Length -- 同1.1 1.5 实现优先级queue -- 代码块较大 1.11 Naming a Slice -- 属于代码重构优化
@cflw @RimoChan 欢迎意见建议.
应该能起到加快速度的作用。相比起整理成函数还是有一定好处的,比如需要某个功能的时候并不好「import 我的常用功能」……
我觉得实际上要用到的地方不多,有时候我倒是会选择效率低一些但是代码短的方法……
对了,python规范是4空格缩进,你的gif里vscode把\t自动变成变成了2空格
@RimoChan 多谢
相比起整理成函数还是有一定好处的
感觉相对灵活些, 但也是刚接触, 之前也不大用, 先自己试试.
有时候我倒是会选择效率低一些但是代码短的方法
嗯, 现在觉得这个主要用户群也许是不熟悉Python但不时用来完成一些日常事务的, 越是熟练开发者这个插件的价值会越小.
你的gif里vscode把\t自动变成变成了2空格
之前是参考了vscode文档示例, 要研究一下哪个vscode选项出了问题(因为之前代码也是在vscode下, 却是4格缩进).
@RimoChan btw 缩进2格的问题是因为之前在vscode选项里加了全局的"editor.tabSize": 2,
. 改了之后就好了.
考虑也添加些常用算法,尤其是排序相关的。
https://github.com/antfu/wenyan-lang-vscode/issues/16 中发现,prefix 用中文时,可用ctrl+space 触发补全窗口(mac 中测试): 打算接下去在木兰vsc 插件中开始实践。
源自https://github.com/program-in-chinese/overview/issues/11#issuecomment-417743692 比如vscode下的snippet功能(详见VS Code创建自定义Python代码片段):