Python学习条记(3)编程发起(6条)

[复制链接]
发表于 2025-12-23 13:13:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1 PEP 8 编码风格

Python Enhancement Proposal #8叫作PEP 8,它是一份针对Python代码格式而编订的风格指南,采取同等的风格可以使代码更易读、更易懂,完备指南可以从这里获取,下面列出几条绝对应该服从的:
1.1 与空缺有关的发起


      
  • 用空格(space)表现缩进,而不要用制表符(tab)。  
  • 和语法相干的每一层缩进都用4个空格表现。  
  • 每行不高出79个字符。  
  • 对于占据多行的长表达式来说,除了首行之外的别的各行都应该在通常的缩升级别之上再加4个空格。  
  • 在同一份文件中,函数与类之间用两个空行隔开。  
  • 在同一个类中,方法与方法之间用一个空行隔开。  
  • 使用字典时,键与冒号之间不加空格,写在同一行的冒号和值之间应该加一个空格。  
  • 给变量赋值时,赋值符号的左边和右边各加一个空格,而且只加一个空格就好。  
  • 给变量的范例做注解(annotation)时,不要把变量名和冒号隔 开,但在范例信息前应该有一个空格。
1.2 与定名有关的发起


      
  • 函数、变量及属性用小写字母来拼写,各单词之间用下划线相连,比方:lowercase_underscore。  
  • 受掩护的实例属性,用一个下划线开头,比方:_leading_underscore。  
  • 私有的实例属性,用两个下划线开头,比方:__double_leading_underscore。  
  • 类(包罗非常)定名时,每个单词的首字母均大写,比方:CapitalizedWord。  
  • 模块级别的常量,全部字母都大写,各单词之间用下划线相连,比方:ALL_CAPS。  
  • 类中的实例方法,应该把第一个参数定名为self,用来表现该对象自己。  
  • 类方法的第一个参数,应该定名为cls,用来表现这个类自己。
1.3 与表达式和语句有关的发起


      
  • 采取行内否定,即把否定词直接写在要否定的内容前面,而不 要放在整个表达式的前面,比方应该写if a is not b,而不是if not a is b。  
  • 不要通过长度判定容器或序列是不是空的,比方不要通过if len(somelist) == 0判定somelist是否为[]或’'等空值,而是应 该采取if not somelist如许的写法来判定,由于Python会把空 值自动评估为False。  
  • 如果要判定容器或序列内里有没有内容(比如要判定somelist是否为[1]或’hi’如许非空的值),也不应该通过长度来判定, 而是应该采取if somelist语句,由于Python会把非空的值自动 判定为True。  
  • 不要把if语句、for循环、while循环及except复合语句挤在一 行。应该把这些语句分成多行来写,如许更加清楚。  
  • 如果表达式一行写不下,可以用括号将其括起来,而且要得当地添加换行与缩进以便于阅读。  
  • 多行的表达式,应该用括号括起来,而不要用\符号续行。
1.4 与引入有关的发起


      
  • import语句(含from x import y)总是应该放在文件开头。  
  • 引入模块时,总是应该使用绝对名称,而不应该根据当前模块 路径来使用相对名称。比方,要引入bar包中的foo模块,应该 完备地写出from bar import foo,即便当前路径为bar包里, 也不应该简写为import foo。  
  • 如果肯定要用相对名称来编写import语句,那就应该明确地写 成:from . import foo。  
  • 文件中的import语句应该按次序分别成三个部分:起首引入尺度库里的模块,然后引入第三方模块,末了引入自己的模块。 属于同一个部分的import语句按字母次序分列。
2 bytes与str的区别

Python有两种范例可以表现字符序列:一种是bytes,另一种是str。

      
  • bytes实例包罗的是原始数据,即8位的无符号值(通常按照ASCII编码尺度来表现)。  
  • str实例包罗的是Unicode码点(code point,也叫作代码点),这 些码点与人类语言之中的文本字符相对应。
要把Unicode数据转换成二进制数据,必须调用str的encode方 法。要把二进制数据转换成Unicode数据,必须调用bytes的decode方 法。
编写Python步伐的时间,肯定要把解码和编码操纵放在界面最外 层来做,让步伐的焦点部分可以使用Unicode数据来运作
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表