掌握PEP-8:Python编码规范详解及实践指南
创始人
2024-12-31 10:15:07
0 次浏览
0 评论
Pythonista必会基础知识PEP-8
在编程世界中,Pythonista必须掌握的基础知识之一是PEP-8编码规范。它由Python创始人于2001年制定,旨在提高代码的可读性和一致性。
PEP-8是一系列Python改进提案的一部分。
这包括PEP-8以及PEP-257和PEP-484等提案,它们是开发人员指南,为特定Python功能提供设计指南和说明。
由于代码的读取次数远多于编写次数,因此遵循PEP-8非常重要。
你可能只会看到你写的代码一次,但随着项目的开发,其他团队成员会看到很多次,即使是看起来没有改变的业务逻辑代码也可能会被读取。
在实际项目中,记录代码变更常常会出现延迟。
因此,PEP-8规范提高了代码的可理解性。
Python之禅也注重代码的可读性。
要快速使您的代码符合PEP-8,您可以使用PyCharm的快捷键Alt+Ctrl+L快速格式化所选代码。
PEP-8主要决编码声明、导入顺序、接口声明、空行、引号、空格、缩进、多行结构化数据、行长度限制、运算符换行符、注释、文档字符串和命名约定等。
。
每个部分都提供了关于选择适当的命名样式并避免可能令人困惑的变量名称的明确指导。
最后,PEP-8强调一致性,但在项目内部,模和功能内的风格必须优于项目范围的风格,而项目范围的风格又必须优于PEP-8规范。
编写代码时,优先考虑可读性和一致性,而不是机械地遵循规则。
当发生风格不匹配时,您应该优先考虑提高代码质量,并遵循优先考虑编程风格的一致性中的指导。
PEP-8不仅是Python工程师的必备工具,也是提高代码质量和团队协作效率的关键。
如果您是Python新手,掌握PEP-8将对您的编程之旅大有裨益。
python的编码规范有哪些?
语言在发展和变化,编码习惯也在变化。下面简要讨论Python编程中的17种常见编码标准或风格。
1、变量数据结构:函数中不要使用全局变量,避免循环入口问题。
特别是当shell脚本等其他语言引用Python代码时,需要将Python项目添加到Linux环境变量中。
在Python2.7中,可以通过编辑虚拟环境并执行`pythoninstall-e.`来解决导入问题。
2.基本规则:使用`python--help`查看执行过程中的所有参数,使用`sys.stdout`直接输出到控制台,跳过模型模块的第一行,允许非Unix形式,使用`entity`来设置特定选项,程序通过读取文件内容来执行,并从`stdin`读取输入。
3、内存管理:Python的内存回收是基于引用计数和分层回收的。
小整数和短字符串将被缓存以供重用。
`is`关键字判断两个引用指向的对象是否相同,`==`判断值是否相同。
赋值的本质是修改全局字典的值,而局部变量则是通过`locals()`来修改。
4.对象引用:`sys.getrefcount()`查看对象引用计数当添加引用时,计数加1,当删除引用时,计数减1。
垃圾回收机制由Python独占实现,效率较低。
该机制在某些条件下会自动启动,并且可以通过“gc.collect()”手动回收。
对象被分为0代、1代和2代。
它们存在的时间越长,成为垃圾的可能性就越小。
引用循环可以通过复制每个对象的引用计数、遍历对象来调整引用计数以及回收无用的对象,从而使回收变得困难。
5.迭代:可迭代对象使用`iter`,迭代器与`next`组合,生成器是使用`yield`的特殊迭代器。
抽象方法是使用“@abc.abstractmethod”和“metaclass”来强制子类覆盖实现的。
6.其他概念:闭包是通过内部函数读取外部函数变量来实现的。
使用keyindict判断字典键是否存在,使用dict.get(key[,default])并使用fori,einumerate(array)初始化数组字典。
7.解压元组:传入函数参数时使用`foo(**adict)`,并使用join或string方法连接字符串。
诸如“10/3”之类的解释器操作是真正的除法,而“10//3”是整数除法。
嵌套列表推导式简化了代码结构。
8.传递函数参数:使用`foo(**adict)`传递一个字典作为参数名称和值。
9.字符串连接:使用连接字符串或方法,例如“str.format”或“join”函数。
10.解释器操作:`10/3`代表真除法,`10//3`代表整数除法。
11.反射:访问对象的属性、方法和类信息。
12.序列化:使用pickle将对象序列化,存储后即可读取。
它支持内置类型和外部方法以及自定义类行为,例如限制仅提供特定的属性名称。
13.Python3和Python2.x之间的主要区别:Python3中字符串和unicode之间的区别消失,删除了`__unicode__`并添加了`__bytes__`来表示字节数组的内置方法。
默认除法变为实际除法,`__div__`被取消,`__coerce__`被取消,`cmp`被销毁,`__nonzero__`被重命名为`bool`。
14.断点:用于调试代码并帮助识别错误。
15.依赖项:安装`pcurl`需要CentOS7安装`python3-devel`。
具体流程如`pcurl-centos7`所示。
编译和发布16.Py:包括创建.pyc文件、删除源文件和__pycache__目录、打包成.tar包或推送到存储库。
17.常用的内置魔法函数:如`iter`执行类迭代,`call`直接调用对象,`slate`提供仅限于属性名称的类行为,通过类字典返回有关函数名称以及函数返回版本点操作。
Python实践21-PEP8代码规范整理
PEP8是Python的编码标准,PyCharm内置了基于PEP8的代码检查功能。右键单击项目目录,选择“InspectCode”,轻松进行静态代码检查。
一致性很重要,Guido强调代码主要是用来阅读的,而不是用来编写的,本指南旨在提高Python代码的可读性。
代码布局、编码、导入、文档、空间使用、注释命名、设计建议等都必须严格遵循PEP8规范。
本系列文章及代码存档于GitHub上,项目仓库地址:Jumper2014/PyCodeComplete。
如果您觉得内容有用,请在GitHub上给该项目一颗星。
支持是我持续更新的动力。
没有GitHub帐户?没有GitHub帐户如何学习Python?现在就去注册一个吧!
相关文章
Pandas DataFrame分组与聚...
2024-12-28 22:04:01Python编程:计算1到100之和的多...
2024-12-29 04:07:09CPython实战:如何添加自增(++)...
2024-12-16 20:47:53Python字符串处理:strip()与...
2024-12-26 20:15:30python while和for循环的区...
2025-01-08 15:52:14Python教程:高效查找1-999水仙...
2024-12-24 21:22:03高效MySQL更新:字段值互赋与跨表条件...
2024-12-17 00:11:43Python字符串字符统计方法详解
2024-12-16 05:20:49Python与C语言:Python入门易...
2024-12-15 21:42:17Python布尔类型(bool)深度解析...
2024-12-16 19:05:20最新文章
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
热门文章
1
Python中的format()方法:字...
formatformat在python中的含义2222.22E+00Format...
2
Python编程入门:全面解析Pytho...
python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...
3
Python字符串大小写转换方法全解析
python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...
4
Python字典:轻松获取最小值键与计算...
python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...
5
Python字符串去重空格:strip(...
Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...
6
Python数组元素数量计算技巧分享
Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...
7
简述python中pass的作用
pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...
8
Python def 关键字详解:函数定...
def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...
9
python不区分大小写的方法
Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...
10
Python字典操作全解析:添加、修改、...
Pythondict字典基本操作(包括添加、修改、删除键...