对于一名后端工程师来说,实现一些用户下单购买商品的需求是很常见的。最近刚接了一个与购买商品相关的迭代需求,也踩了一些坑,所以跟大家分享一下坑点。
临近毕业季,每天在学校里面除了写论文就是改论文,生活三点一线略显无聊,于是在知乎上搜索了一下Coursera有什么近期开课的计算机神课,看到回答中提到华盛顿大学的Programing Languages并且评价颇高,果断选择旁听入坑。
Programing Languages是一门中级课程,适用于有学习过一门编程语言背景的学生,其目的是通过讲述几门小众语言来描述编程范式(其中尤其注重函数式编程范式)。整个课程分为三个部分,A部分讲述了SML,B部分讲述了Racket,C部分讲述了Ruby。
俗话说,工欲善其事,必先利其器。在学习SML之前,首先得把SML环境和文本编辑器搭起来,课程里面提倡使用的是具有“神的编辑器”之称的Emacs,当然使用别的编辑器也完全没问题,没有强制要求。
一般来说,环境的搭建和工具的流畅使用很大程度决定了学习一门语言的初期成就感,所以投入一定的时间在这上面还是很值得(比如研究Emacs的用法)。
详细的环境搭建教程可以自行查阅课程提供的material(里面记录的非常详细),我在这里只记录一下在搭建过程中遇到的问题以及是如何解决的。
本文将从三个问题来阐述Python Descriptor:
在回答完这三个问题之后,本文还将列举几个使用Descriptor的例子:
@Property原理
基于Property实现@cached_property
Python函数和方法的区别
如果之前不了解Python Descriptor,建议先过一遍Descriptor How To Guide。对于英语不过关的同学,也可以看一下中文资源。