广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么写好的Python代码
  • 402
分享到

怎么写好的Python代码

2023-06-02 05:06:11 402人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“怎么写好的python代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!所谓 Pythonic,我觉得包含两方面:一是代码的

本篇内容介绍了“怎么写好的python代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

所谓 Pythonic,我觉得包含两方面:一是代码的风格符合 Python 的特点,能合理使用 Python 的“语法糖”;二是代码简洁优美,稳定性高,可读性好,便于维护和修改。所谓“Python 之禅”并不仅限于 Python,很多理念是编程普适的。

比如来实现对一个列表中元素的遍历访问,我见过很多次有人这么写:

for i in range(len(lst)): print(lst[i])

这样的同学很可能是之前有过 C/C++ 或 Java 的经验。这么写功能上没问题,但不够简洁,不够 pythonic。更好的实现方式:

for i in lst: print(i)

这种不影响功能,但能简化程序、提高可读性的语法,我们称之为“语法糖”(Syntactic sugar)。Python 中类似的例子还有不少,来举几个:

交换两个变量的值,普通写法:

temp = aa = bb = temp

pythonic 写法:

a, b = b, a

类似的解包(unpacking)用法还可以实现多个返回值的函数。普通写法:

def func(a, b): result = [b, a] return resultr = func(a, b)x = r[0]y = r[1]

pythonic 写法:

def func(a, b): return b, ax, y = func(a, b)

读写文件,普通写法:

f = open('filename.txt')text = f.read()print(text)f.close()

pythonic 写法:

with open('filename.txt') as f: for line in f: print(line)

with 的好处是即使出错,也会帮你关闭文件。

拼接字符串,普通写法:

letters = ['h', 'e', 'l', 'l', 'o']s = ''for l in letters: s += lprint(s)

pythonic 写法:

print(''.join(letters))

关于前面遍历列表的例子,如果你想带上索引,可以这么写:

for i, elem in enumerate(lst): print(i, elem)

遍历字典项:

for key, value in dct.items(): print(key, value)

取出列表中大于 0 的元素,生成新列表。普通写法:

new_lst = []for i in lst: if i > 0: new_lst.append(i)

pythonic 写法:

new_lst = [i for i in lst if i > 0]

这个被称为“列表解析式”(List comprehension,中文翻译说法有很多),可以说是非常 pythonic 的一个用法了。

更进一步,如果数据量很大,而你对新列表仅仅是遍历操作,并不需要一个列表对象,可以采用生成器:

new_lst = (i for i in lst if i > 0)for i in new_lst: print(i)

这样会更节省资源,提升执行效率。

判断一个值是否为True、是否为空列表、是否是None,普通写法:

if x == True: passif len(y) == 0: passif z == None: pass

pythonic 写法:

if x: passif not y: passif z is None: pass

根据键名获取字典中对应的值,普通写法:

value = dct[key]

这样的问题在于,如果 key 不存在,代码就报错跳出。于是你不得不增加更多的判断。

pythonic 写法:

value = dct.get(key, 0)

改用 get 方法,不存在时会得到 None,或者指定的默认值(这里是 0)。

篇幅所限,以上仅仅是一些比较具有代表性的例子。但凡事要有度,过分追求 pythonic 的写法也可能导致代码的可读性下降。比如有人喜欢把很多功能写在一个语句中,这反倒不 pythonic 了。所以,我们需要有一些设计的原则,但又不必拘泥于具体的形式,否则就钻入牛角尖了。

那么对于学习者来说,如何才能写出更 pythonic 的代码呢?说到底还是个经验积累的过程,菜鸟不可能看本书、上个课就一夜变成老鸟,但只要坚持得够久就可以。我这边给几个建议:

  1. 多看。看官方库、优秀项目,学习别人的代码。以及看一些优质的教程和经验分享,

  2. 多搜。当你实现一个小功能后,去网上搜一下,别人是怎么写的,对比下是不是比你自己的更好。举个例子:如何从列表中删除重复元素。你自己可以通过循环实现,但只要搜一下,就会知道 list(set(x)) 这种用法。

  3. 多写。自己还没写几行代码,就先别纠结什么效率什么风格了。最终还是要写上足够量的代码,才会有“悟道”的那一刻。

“怎么写好的Python代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么写好的Python代码

本文链接: https://www.lsjlt.com/news/228934.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么写好的Python代码
    本篇内容介绍了“怎么写好的Python代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!所谓 pythonic,我觉得包含两方面:一是代码的...
    99+
    2023-06-02
  • 怎么编写更好的JS代码
    这篇文章主要介绍“怎么编写更好的JS代码”,在日常操作中,相信很多人在怎么编写更好的JS代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么编写更好的JS代码”的疑惑有所帮...
    99+
    2022-10-19
  • 怎么编写更好的React代码
    这篇文章主要介绍“怎么编写更好的React代码”,在日常操作中,相信很多人在怎么编写更好的React代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么编写更好的React...
    99+
    2022-10-19
  • Python代码怎么写
    本篇内容介绍了“Python代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、类有两个方法,一个是 new,一个是 init,有什...
    99+
    2023-06-22
  • 写好Python代码的技巧有哪些
    这篇文章将为大家详细讲解有关写好Python代码的技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。程序设计的好与坏,早在我们青葱岁月时就接触过了,只是那是并不知道这竟如此重要。能够立即改善程序设计...
    99+
    2023-06-15
  • python代码写好了如何运行
    当您编写好Python代码后,需要通过以下步骤来运行它:1、确保已经安装了Python环境:首先,您需要确保您的计算机上已经安装了Python解释器。您可以在Python官方网站(https://www.python.org/downloa...
    99+
    2023-10-25
    python
  • 写好Python代码的几条重要技巧
    目录面向对象五个基本原则立竿见影的单一职责原则让代码稳定性飞升的开放封闭原则和依赖倒置原则挑肥拣瘦的接口隔离原则轻装上阵的合成复用原则常见的三种架构单体架构分布式架构微服务架构分布式和微服务并不是银弹画好图起一个好名...
    99+
    2022-06-02
    python 代码技巧 写好python技巧
  • Python极简代码怎么写
    本文小编为大家详细介绍“Python极简代码怎么写”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python极简代码怎么写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.重复元素判定以下方法可以检查给定列表是...
    99+
    2023-06-27
  • Python爬虫代码怎么写
    这篇“Python爬虫代码怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python爬虫代码怎么写”文章吧。爬虫是什么...
    99+
    2023-07-05
  • Python游戏代码怎么写
    这篇文章主要介绍“Python游戏代码怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python游戏代码怎么写”文章能帮助大家解决问题。1、吃金币源码分享:import osimpo...
    99+
    2023-06-29
  • python去水印的代码怎么写
    去除水印的代码取决于水印是如何添加到图像中的。以下是一种常见的方法,使用OpenCV库和图像处理技术来去除简单的文本水印:```py...
    99+
    2023-09-18
    python
  • python操作excel的代码怎么写
    本篇内容主要讲解“python操作excel的代码怎么写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python操作excel的代码怎么写”吧!from&nb...
    99+
    2022-10-19
  • 如何写出好的代码
    本篇内容介绍了“如何写出好的代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!写好注释写代码这件事情,大概...
    99+
    2022-10-19
  • python画心形代码怎么写
    要用Python画心形,可以使用turtle库来绘制。以下是一个例子:```pythonimport turtle# 设置画笔速度和...
    99+
    2023-10-12
    python
  • python求素数代码怎么写
    以下是一个用python编写的求素数的代码:```pythondef is_prime(n):if n ...
    99+
    2023-08-25
    python
  • python画同心圆的代码怎么写
    您可以使用Python的turtle模块来绘制同心圆。下面是一个画同心圆的示例代码:pythonimport turtledef d...
    99+
    2023-10-18
    python
  • python画饼状图的代码怎么写
    要使用Python绘制饼状图,可以使用`matplotlib`库。下面是一个简单的例子: import matplotlib.pyp...
    99+
    2023-10-26
    python
  • 怎么写出更稳定的Python代码
    这篇文章主要讲解了“怎么写出更稳定的Python代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么写出更稳定的Python代码”吧!Python 这门语言太简单了,简单到随便一个人,学了...
    99+
    2023-06-15
  • python求圆周率的代码怎么写
    Python中可以使用蒙特卡洛方法来估计圆周率。具体代码如下: import random def estimate_pi(n):...
    99+
    2023-10-26
    python
  • JS逆向代码转换为Python代码怎么写
    这篇文章主要介绍“JS逆向代码转换为Python代码怎么写”,在日常操作中,相信很多人在JS逆向代码转换为Python代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS逆向代码转换为Python代码...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作