add by zhj: 非常好的文章,异常在Python的核心代码中使用的非常广泛,超出一般人的想象,比如迭代器中,当我们用for遍历一个可迭代对象时, Python是如何判断遍历结束的呢?是使用的StopIteration异常,这点虽然大部分人知道,但如果是让你设计实现Python,我估计一般人不会这样 做.其实异常在Python中使用非常广泛,完全可以代替错误返回码,并不是说有异常不好,这点跟我之前的想法的确不一样,我以前认为异常只是用 来捕获的,很少去raise异常,但自己主动的去rais…
有时候你会看到很Cool的Python代码,你惊讶于它的简洁,它的优雅,你不由自主地赞叹:竟然还能这样写.其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一样可以写出像诗一样的Python代码. 1.导入模块 你是不是经常对调用模块时输入一长串模块索引感到头疼?说实在的,数量少的时候或许还可以勉强忍受,一旦程序规模上去了,这也是一项不容小觑的工程. #Bad import urllib.request url = r'http://www.landsb…
译者按: 规范的代码可以有效避免代码bug,fundebug才会报警少一点! 原文: Tips for Writing Cleaner Code 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 我决定为初学者写一篇博客来介绍一些常见编程技巧,这些技巧可以帮助你写出更加规范,容易维护的代码. 1. 常量 这个问题哦不仅仅是写JavaScript的开发者们会遇到,在所有的开发语言中都要避免.我们来看一个例子: $elem.on('keyd…
http://www.cnblogs.com/dadadechengzi/p/6226071.html 1,列表推导(没当要对序列中的内容进行循环处理时,就应该尝试使用列表推倒) 在python中编写如下的代码是让人痛苦和不高效已经简洁美观的. numbers = range(10) evens = [] for i in numbers: if i % 2 == 0: evens.append(i) print evens 毫无疑问,在python中它确实会使得程序的执行速度变得慢了(它使解释…
通常涉及到去重操作最好使用set,但是考虑到某些时候可能遇到不允许使用set的情况,那就自己实现一下: l = [2, 4, 5, 6, 1, 3, 4, 5] def f(l, b=0, c=1): a = len(l) if a > 1: l.sort() if l[b] == l[c]: l.pop(b) a = len(l) # 删除一个元素之后,列表的长度变了,同时,下标b和c对应的值也变了,所以重新对a赋值,而b和c不变 else: b, c = c, c+1 if a > c:…
l1 = ['b','c','d','c','a','a'] l2 = list(set(l1)) print(l2)…
方法1:使用set函数  s=set(list),然后再list(s) 方法2:append    def delList(L): L1 = [] for i in L: if i not in L1: L1.append(i) return L1 print(delList([1,2,2,3,3,4,5])) print(delList([1,8,8,3,9,3,3,3,3,3,6,3])) 方法3:count,remove    def delList(L): for i in L: if…
https://blog.csdn.net/weixin_36604953/article/details/78592943 Python新手写出漂亮的爬虫代码2——从json获取信息好久没有写关于爬虫的东西了,如果正在读这篇博客的你看过我的另一篇<Python新手写出漂亮的爬虫代码1——从html获取信息>想必已经对一些写在html中的信息进行过爬取了,今天给大家介绍一下另一种爬虫——动态爬虫. 1.静态爬虫与动态爬虫何为动态爬虫,html中的信息是静态的,或者说是通过html语言生成了网页…
https://blog.csdn.net/weixin_36604953/article/details/78156605 Python新手写出漂亮的爬虫代码1初到大数据学习圈子的同学可能对爬虫都有所耳闻,会觉得是一个高大上的东西,仿佛九阳神功和乾坤大挪移一样,和别人说“老子会爬虫”,就感觉特别有逼格,但是又不知从何入手,这里,博主给大家纠正一个误区:爬虫并不神秘,也不高级,是一个非常好上手和掌握的东西(当然,里面也有很多坑,也有很多细节,展开说的话其实也蛮复杂的,不过它的模式和套路就摆在那里…
想要写好链表代码并不是容易的事儿,尤其是那些复杂的链表操作,比如链表反转.有序链表合并等,写的时候非常容易出错.从我上百场面试的经验来看,能把“链表反转”这几行代码写对的人不足 10%. 为什么链表代码这么难写?究竟怎样才能比较轻松地写出正确的链表代码呢? 只要愿意投入时间,我觉得大多数人都是可以学会的.比如说,如果你真的能花上一个周末或者一整天的时间,就去写链表反转这一个代码,多写几遍,一直练到能毫不费力地写出 Bug free 的代码.这个坎还会很难跨吗? 当然,自己有决心并且付出精力是成功…