Python 一直被我拿来写算法题,小程序,因为他使用起来太方便了,各种niubi闪闪的技能点也在写算法的过程中逐渐被挖掘到,感谢万能的谷哥度娘SOF以及各大博客网站,在这里整理一二。
几句废话:
因为我是懒癌晚期,最不喜欢在文章里发图片,因为Mweb写作或者是马克飞象写作,可以直接拖图进来,但是上传博客的话,就需要考虑是使用服务器上的媒体库,还是放七牛,放七牛上还得用它的命令行工具,或者是Web端操作,想想都好麻烦。所以,本地一直存放着几篇写完的文章楞是没有上传(一篇探索红黑树,一篇是设计模式C++版半完全指南,一篇是Linux的小文章),就是因为往里边塞了太多图片的原因。所以以后写文,尽量控制图片 <= 3。
下面进入密集式正题,过于炫技的部分被我去掉了,因为我看过之后只是碎了膝盖,然而并不常用。因为自己很少做整理,现在知道整理的强大之处了,所以以后也会注意相关知识的整理。以下方法的适用场景我也就不用多说了,因为都是最最常见的场景:
变量声明利用拆箱这种方式,非常高效,这也算是Python 里最常用的技巧了,也是我最开始使用 Python 时感觉非常惊奇的功能。
|
|
拆箱也可用于变量交换
|
|
刚开始接触Python 的时候,被Python 深拷贝的方式逗乐了,写Python 你可以利用想象力写代码。深拷贝利用的就是这个指定步长的切割。
|
|
zip 这个也是靠想象力实现各种各样的功能。
|
|
|
|
|
|
列表展开的方式五花八门,动用大脑可以创造各种各样的方法,最便于理解的是以下两种:
|
|
|
|
一上来我打成了推倒是什么心理,相信在平时推导过列表,他还有更多的应用方式。
|
|
另外,刚刚提到了,直接省略set 方式的创建集合,它还有一些在这基础之上更犀利的应用。
|
|
对于我们来说,数一个东西,是非常常用的,然而这件事又不是程序员喜欢做的事情,我们用 counter 来完成这个操作。他在我们python 内置的库里。
|
|
我们都知道,队列和栈实际上就是对在双端队列的基础上实现的,python可以直接操作双端队列。当然也在内置的库 collections 里。
|
|
同时,我们还可以在括号里添加 maxlen 来限制双端队列的最大长度。last_three = collections.deque(maxlen=3)
一般情况下,空词典它就是空的,但是我们利用 collections 里的函数,可以实现默认的字典。
|
|
这个方法就是为了让让人面对眼花缭乱的JSON串,能够打印出一个漂亮的可读的格式,对于在控制台交互编程,或者是做日志是,还是非常有用的。另外,也可以注意一下pprint 这个模块。
|
|
这个经常用到啊,少年们。
|
|
有一些语句,写出来你就能读懂,就像读一篇文章一样。有时候,其他语言用了超长的代码写出来的程序,python只需要几行,甚至是,1行。
|
|
|
|
我们在两台机器或者服务器之间做一些简单的基础的RPC之类的交互,我们就可以用到python 这个神奇的模块。
服务器:
|
|
客户端:
|
|
这样就得到了一个远程文件读取工具,超小型,没有外部依赖,当然没有任何安全可言,仅作家里使用,当然我现在还没用过这个。
人生苦短,我用Python。
ps. 似乎不说一句这个名言,就不像是在写Python一样。当然了,我还是要滚回去好好地学C++。