热点新闻
值得收藏!编写干净的 Python 代码的 5 个技巧!
2023-07-22 02:16  浏览:850  搜索引擎搜索“错改B2B”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在错改B2B看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

平时是否思考过如何编写干净的 Python 代码吗?

今天我将给大家分享五个技巧,确保你的代码正常工作、易于阅读并充分利用 Python 提供的功能模块。喜欢本文记得关注、点赞。

使用易于记忆的变量名

通常在编程时,我们不会停下来考虑一个易于阅读、发音和记忆的描述性变量名称。这是一个不好的做法,因为我们将在不考虑描述性变量名称时节省的时间,我们将在未来花费它来尝试理解该变量应该做什么。

❌Bad way

from datetime import date ymdstr = date.now().isoformat()

✅Good way

from datetime import date currentDate = date.now().isoformat()

哪个更好地描述了变量的功能?ymdstr 还是 currentDate?

在声明变量并为它选择一个好名字时,最好多花几秒钟,而不是在未来浪费两倍(或三倍)的时间试图理解它的功能是什么。

创建易于搜索的变量名称

每个程序员都应该知道的一件事是,在我们的编程生涯中,我们将花费更多的时间阅读代码并尝试理解它,而不是编写它。

❌Bad way

# What the h*ck is 420 for? result = serializer.serialize(data, 420)

✅Good way

json = serializer.serialize(data, sort_keys=True, indent=4)
如果我们停下来阅读两个代码摘录(好的和坏的),我们会意识到在坏代码摘录之前快速理解好的代码摘录要容易得多。

使用具有高度描述性的名称

当你将函数作为参数送给另一个函数时,它导致的唯一原因是我们无法正确遵循代码并且我们很难理解它的作用。

❌Bad way

import re address = 'S Grand Ave, LA 90013' city_zip_code_regex = re.compile("^[^,]+,\s*(.+?)\s*(\d{5})$") matches = city_zip_code_regex.match(address) save_city_zip_code(matches.group(1), matches.group(2))

✅Good way

address = 'S Grand Ave, LA 90013' city_zip_code_regex = re.compile("^[^,]+,\s*(?P<city>.+?)\s*(?P<zipcode>\d{5})$") matches = city_zip_code_regex.match(address) save_city_zip_code(matches.group('city'), matches.group('zipcode'))

通过这个例子,我们可以看到如何通过命名子模式来减少正则表达式的依赖。这使得代码更容易阅读和理解。

不要过度使用 if-else

很多时候,我们并没有过多考虑未来,在某些时候我们可能不得不修改代码,所以我们尽量不要滥用 if-else。if-else嵌套越多,代码就越难理解。

❌Bad way

def is_shop_open(day: str): if day: day = day.lower() if day == 'friday': return True elif day == 'saturday': return True elif day == 'sunday': return True else: return False else: return False

✅Good way

def is_shop_open(day: str): for open_day in ['friday','saturday','sunday']: if day == open_day: return True return False

看看这个例子有多干净。行数更少,更容易理解。记住:显式优于隐式。

不要添加不必要的上下文

这个小的技巧是基于"不要重复自己"。如果你拥有的任何类或对象的名称已经描述了某些内容或提供了有关其功能的明确信息,那么在变量名称中重复自己是不好的。

❌Bad way

class Car: carMake = '' carModle = '' carColor = '' #... }

✅Good way

class Car: make = '' modle = '' color = '' #...

通过这种方式,我们不会重复汽车,因为它过于重复,并没有真正为我们增加价值。记住,越简单越好。

总结

如何编写更简洁、更高效的 Python 代码不仅考验一个人的编码内功,更能让阅读代码的人容易理解,提升工作效率。

发布人:9549****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发