f-string、三元操作、各种解析式、生成器装饰器的熟练运用,“内库”引用和函数封装再加持PEP8,撰写的脚本不pythonic都难。😎
(笔记模板由python脚本于2024年10月07日 18:03:27创建,本篇笔记适合特别喜欢python的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/article/details/142743995
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ 如何写出Pythonic的代码?
- 1、Pythonic定义
- 2、PEP 8
- 3、我的Python践行
- 4、我对“长期”的解读
- 5、总结
◆ 如何写出Pythonic的代码?
f f f- s t r i n g string string、三元操作、各种解析式、生成器装饰器的熟练运用,“内库”引用和函数封装再加持 P E P 8 PEP8 PEP8,撰写的脚本不pythonic都难。😎
1、Pythonic定义
Pythonic
是一个经常用于描述 Python 编程语言的特定风格的术语。
以下是对 "Pythonic" 的一些释义:
-
符合 Python 习惯用法:代码应该遵循 Python 社区普遍接受的约定和最佳实践。这意味着代码应该看起来像是经验丰富的 Python 程序员所写。
-
简洁和可读性强:Pythonic 的代码通常简洁明了,避免了不必要的复杂性。它易于阅读和理解,即使是对 Python 不是特别熟悉的开发者。
-
利用 Python 特性:Pythonic 的代码会充分利用 Python 的语言特性,如列表推导式、生成器、装饰器、上下文管理器等,来简化代码和提高效率。
-
直观和自然:Pythonic 的代码往往给人一种直观的感觉,好像这就是解决问题最自然的方式。
-
遵循 PEP 8:PEP 8 是 Python 官方推荐的代码风格指南。遵循 PEP 8 的代码通常被认为是 Pythonic 的。
以下是一些 Pythonic 代码的例子:
-
使用列表推导式而不是循环来创建列表:
# Pythonic squares = [x**2 for x in range(10)] # Non-pythonic squares = [] for x in range(10): squares.append(x**2)
-
使用
with
语句来自动管理资源:# Pythonic with open('file.txt', 'r') as f: content = f.read() # Non-pythonic f = open('file.txt', 'r') try: content = f.read() finally: f.close()
-
使用内置函数和库函数,而不是手动实现常见功能:
# Pythonic words = text.split() # Non-pythonic words = [] index = 0 while index < len(text): if text[index] == ' ': index += 1 continue word_start = index while index < len(text) and text[index] != ' ': index += 1 words.append(text[word_start:index])
总的来说,“Pythonic” 是一个高度概括的术语,它涵盖了编写高效、清晰、符合 Python 风格的代码的理念。
2、PEP 8
PEP 8 是 Python 的官方风格指南,全称是 “Python Enhancement Proposal 8”,即 Python 增强提案 8。它为 Python 代码提供了一套编码规范,旨在提高代码的可读性和一致性。PEP 8 由 Guido van Rossum(Python 之父)和其他贡献者共同编写,并在 Python 社区内广泛接受和使用。
以下是 PEP 8 中的一些主要内容和建议:
-
代码布局:
- 缩进:使用 4 个空格来缩进代码,而不是制表符。
- 行长度:每行不应超过 79 个字符。
- 换行:在操作符之后换行,而不是之前。
- 空行:使用空行来分隔函数和类定义,以及相关代码块。
-
字符串引用:
- 单引号和双引号:在大多数情况下可以互换使用,但应保持一致性。
- 三引号:用于多行字符串。
-
表达式和语句中的空格:
- 在操作符周围添加空格,例如
a = 1 + 1
。 - 在逗号、冒号和分号之后添加空格。
- 避免在括号内添加不必要的空格。
- 在操作符周围添加空格,例如
-
命名约定:
- 类名:使用 CapWords(首字母大写)的命名方式。
- 函数名:使用小写字母和下划线。
- 变量名:同样使用小写字母和下划线。
- 常量:使用全大写字母,并用下划线分隔单词。
-
编程建议:
- 避免使用不必要的复杂性。
- 在适当的地方使用函数而不是复杂的表达式。
- 避免使用全局变量。
- 尽可能使用内置的数据类型和方法。
-
注释和文档字符串:
- 使用注释来解释代码中不那么明显的部分。
- 使用文档字符串(docstrings)来描述模块、函数、类和方法。
遵循 PEP 8 可以帮助开发者编写出风格一致的代码,这对于代码的维护和团队协作非常重要。虽然 PEP 8 提供了广泛的指导,但它也强调了灵活性,指出在某些情况下可以适当违反这些规则,特别是当遵循规则会导致代码可读性降低时。
(PEP 8 的完整内容可以在 Python 官方网站上的 PEP 8 页面找到)
3、我的Python践行
刚才学习了“PEP 8”,发现至少有90%已经是我的代码书写习惯。我应该可以自豪的说“我的python脚本比较Pythonic!😎”
-
截屏图片一
-
截屏图片二
4、我对“长期”的解读
确实,我对“长期写”有些感触,近3.5年来,我从初探起就一直认同齐伟老师的学习“代码要手打”的理念且一直坚持,从学堂拼错关键字到现在,5、6百行的代码,保守的说“90%的代码都可以”随心而出了,这就是得益于“长期”。💪💪
近一年来,有您的帮衬,学习效率不只是倍增。😎😎🙏🙏
截屏图片
5、总结
总结: 学习是坚持和不断总结践行的过程。在践行中深入内化知识点,在内化后更好的践行。
上一篇: Excel中的“=”新妙用,在较高版本中大显身手(小家伙“=”抢功indirect函数,初生大力骑士已从神坛下起身)
下一篇:
我的HOT博:
本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有
7
7
7篇。
-
001
标题:让QQ群昵称色变的神奇代码
(浏览阅读 5.9w )
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:25 收藏:86 评论:17
摘要:让QQ昵称色变的神奇代码。
首发:2022-01-18 19:15:08
最后编辑:2022-01-20 07:56:47 -
002
标题:Python列表(list)反序(降序)的7种实现方式
(浏览阅读 1.1w )
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:8 收藏:35 评论:8
摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
首发:2022-12-11 23:54:15
最后编辑:2023-03-20 18:13:55 -
003
标题:pandas 数据类型之 DataFrame
(浏览阅读 9.7k )
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:7 收藏:36
摘要:pandas 数据类型之 DataFrame_panda dataframe。
首发:2022-05-01 13:20:17
最后编辑:2022-05-08 08:46:13 -
004
标题:个人信息提取(字符串)
(浏览阅读 8.2k )
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:2 收藏:15
摘要:个人信息提取(字符串)_个人信息提取python。
首发:2022-04-18 11:07:12
最后编辑:2022-04-20 13:17:54 -
005
标题:Python字符串居中显示
(浏览阅读 7.6k )
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
评论:1 -
006
标题:罗马数字转换器|罗马数字生成器
(浏览阅读 7.5k )
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
摘要:罗马数字转换器|生成器。
首发:2022-01-19 23:26:42
最后编辑:2022-01-21 18:37:46 -
007
标题:回车符、换行符和回车换行符
(浏览阅读 6.0k )
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:2 收藏:3
摘要:回车符、换行符和回车换行符_命令行回车符。
首发:2022-02-24 13:10:02
最后编辑:2022-02-25 20:07:40
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)