Python禅的源代码为什么要这样写

2022-03-17 社会 72阅读

楼主贴的那段代码好像是我写的那段吧,我来告诉你如何写出来的吧
首先我不是高手,我也没有人教,我的编程都是自学的,我只是一个业余爱好者.
写出这样的代码很简单,就是要多练,我只是把python的基本语法学会,然后就不停地练习,我没有看过楼上的那些资料,我只是不停地码代码,或许有捷径,但是我没有发现.
我从07年开始写python的脚本,我一开始的代码风格也很差,特别是我先学c++,然后再转python的,当写的代码越来越多,对python的了解就会加深,代码风格也会自动改变的,不需要着急,其实这就是对一门语言的了解程度,你可以看看我回答的问题,我的回答就是我对python的理解,如果你能坚持下来,相信7年后你写的代码会比我写得更好.




楼上的题目有点意思,我也写一下,不知道对否
s='''
The Zen of Python, by Tim Peters
 
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
'''

import re ,collections
tail_map = { "'s" : ' is', "'re" : ' are', "n't": ' not' }
data = collections.Counter( re.findall( '\w+' ,re.sub( "('s|'re|n't)" ,lambda matchobj : tail_map[ matchobj.group( ) ] ,s.lower( ) ) ) )

max_len = max( data.values( ) )
print( 'Total word count : %d' ,sum( data.values( ) ) )

for word in sorted( data ):
     print ( '%*s => %d' % ( max_len, word, data[ word ] ) )

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com