快捷搜索:  汽车  科技

python之禅怎么弄(人生苦短我用Python你知道Python之禅吗)

python之禅怎么弄(人生苦短我用Python你知道Python之禅吗)Python社区的理念都包含在Tim Peters撰写的“Python之禅”中。真的是人生苦短,我用python

凡是用过 Python的人,基本上都知道在交互式解释器中输入 import this 就会显示 Tim Peters 的 The Zen of Python,但它那偈语般的语句有点令人费解,所以我想分享一下我对它的体会,顺带给出我的翻译

>>>importthis TheZenofPython byTimPeters Beautifulisbetterthanugly. Explicitisbetterthanimplicit. Simpleisbetterthancomplex. Complexisbetterthancomplicated. Flatisbetterthannested. Sparseisbetterthandense. Readabilitycounts. Specialcasesaren'tspecialenoughtobreaktherules. Althoughpracticalitybeatspurity. Errorsshouldneverpasssilently. Unlessexplicitlysilenced. Inthefaceofambiguity refusethetemptationtoguess. Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit. Althoughthatwaymaynotbeobviousatfirstunlessyou'reDutch. Nowisbetterthannever. Althoughneverisoftenbetterthan*right*now. Iftheimplementationishardtoexplain it'sabadidea. Iftheimplementationiseasytoexplain itmaybeagoodidea. Namespacesareonehonkinggreatidea--let'sdomoreofthose!

翻译和解释如下:

优美胜于丑陋(Python以编写优美的代码为目标) 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁) 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套) 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题) 可读性很重要(优美的代码是可读的) 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上) 不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码) 当存在多种可能,不要尝试去猜测 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法) 虽然这并不容易,因为你不是Python之父(这里的Dutch是指Guido) 做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量) 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准) 命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

分析python之禅

咱们将python之禅的文本存储词频

word_dict={}#存储词频 #这是的s是python之禅 forwordins.split(): print(word) word_dict[word]=word_dict.get(word 0) 1 forkinword_dict: print('%s\t%s'%(k word_dict[k])) out: The1 Zen1 of3 Python 1 by1 Tim1 Peters1 Beautiful1 is10 better8

排序转化成列表

sord_list=sorted(word_list key=lambdax:x[1] reverse=True) sord_list [('is' 10) ('better' 8) ('than' 8) ('to' 5) ('the' 5) ('of' 3) ('Although' 3) ('be' 3) ('should' 2) ('never' 2) ('one' 2)

绘画词云图

importpyechartsaspe name_list=[i[0]foriinword_list] freq_list=[i[1]foriinword_list] chart=pe.WordCloud('词云可视化') chart.add("" name_list freq_list word_size_range=[30 100] rotate_step=66) chart.render('demo.html') chart

保持简单、追求简单,我想这就是编码之中的禅,一种回归本真的境界。这种禅意在 Python 的设计哲学中体现的淋漓尽致

python之禅怎么弄(人生苦短我用Python你知道Python之禅吗)(1)

Python社区的理念都包含在Tim Peters撰写的“Python之禅”中。

真的是人生苦短,我用python

编写Python代码

猜您喜欢: