python文本风格_Python:遵循PEP8风格

Python:遵循PEP8风格

在编写python代码的时候我们应该采用统一的风格来编写代码,可以使代码更加容易读懂。采用和其他程序员统一的编码风格来写代码,也可以使项目更利于多人协作开发。即便代码只有你自己能看懂,也得遵循这套风格,可以令自己后续继续二次开发的时候更容易看懂自己的代码。

一 空白

在Python中,空白会影响代码的含义。Python程序员使用空白的时候会影响代码的清晰程度。

1.使用4个空格来表示缩进

if 'tank' == "handsome":

# 这里是4个空格缩进

print('是真的!')

2.每一行的字符数不应该超过79

# 一行代码的字数不能超过79

def abcdefg.....79

3.对于占据多行的长表达式来说,除了首行之外的其余每一行都应该换行开头增加4个空格。

# 推荐

num1 = 1

num2 = 2

num3 = 3

num4 = 4

num5 = 5

num6 = 6

print(

num1

+ num2

+ num3

+ num4

+ num5

+ num6

)

# 不推荐

print(num1 +

num2 +

num3 +

num4)

4.Python文件中的函数与类之间应该用两个空行隔开。

# 类

class Foo:

pass

# 函数

def foo():

pass

5.在同一个类中,各方法之间应该用一个空行隔开。

class DSB:

def jason(self):

pass

def egon(self):

pass

6.在使用下标来获取列表元素、调用函数或给关键字参数赋值的时候,不要在两旁添加空格。

# 列表元素

list1 = [1, 2, 3]

# 推荐

print(list1[0])

# 不推荐

print(list1[ 0 ])

# 调用函数

def foo(x, y):

pass

# 推荐

foo(x=10, y=20)

# 不推荐

foo(x = 10, y = 20)

7.为变量赋值的时候,赋值符号在左右侧应该各自写一个空格

name = 'tank'

二 命名

在python中提倡采用不同风格来定义python中名称,例如变量名、函数名、类名等...

1.函数、变量及属性应该用小写字母来拼写,各单词之间以下划线相连

name_of_tank = 'tank'

2.受保护的实例属性,应该以单个下划线开头

_private_pwd = 'tank123'

3.私有的实例属性,应该以两个下划线开头

__private_field = '123'

4.类名,应该以单个单词首字母均大写的形式来命名,各单词之间以下划线相连。

class StudentOfOldboy

5.常量,应该全部采用大写字母来拼写,各单词之间以下划线相连

SCHOOL_OF_TANK = "oldboyedu"

6.类中的实例方法,把首个参数命名为self,以表示该对象本身。

# 正确

class Student:

def running(self, name):

print(f"{name} is running")

stu1 = Student()

stu1.running("张全蛋")

# 错误

'''

class Student:

def running(xxx, name):

print(f"{name} is running")

'''

7.类方法的首个参数,应该命名为cls,以表示该类本身。

class Teacher:

@classmethod

def piao(cls, name):

print(cls) #

Teacher.piao('jason')

>>> jason is piao ing...

三 表达式和语句

1.采用内联形式的否定词,而不要把否定词放在整个表达式前。

name1 = 'tank'

name2 = 'jason'

# 推荐

if name1 is not name2:

pass

# 反对

if not name1 is name2:

pass

2.不要通过检测长度的方法来判断list是否为空,而应该采用if not list 这种写法来判断,若为空值将自动设置为False

list1 = [1, 2, 3]

# 不推荐

if len(list1) == 0:

pass

# 推荐

if not list1:

pass

3.检测list是否为[1]或者'li'等非空值时,if list会把非空的值判断为True。

list1 = ['jason', 'is', 'sb']

# 推荐

if list1:

pass

4.不要编写单行的if语句、for、while循环以及except复合语句,而是应该把这些语句分成多行来书写,以示清晰。

# 推荐

if True:

print('tank 喜欢吃生蚝,男人的加油站,女人的美容院')

while True:

print('tank 喜欢吃生蚝,男人的加油站,女人的美容院')

for line in range(10):

print('tank 喜欢吃生蚝,男人的加油站,女人的美容院')

# 不推荐

'''

if True: print('tank 很帅')

while True: print('tank 很帅')

for line in range(10): print('tank 很帅')

'''

5.import 应该放在文件开头

# 推荐

import json

content = 'jason 喜欢大宝剑'

# 不推荐

content = 'jason 喜欢大宝剑'

import json

6.引入模块的时候,应该使用绝对名称,而不应该根据当前模块的路径来使用相对名称。

# 推荐

from foo import bar

# 不推荐

# 在当前模块位置

import bar

7.如果一定要以相对名称来写import语句,那就采用明确的写法

from . import foo

8.文件中的import语句应该按照顺序划分为三个部分,分别表示标准库模块、第三方模块以及自定义模块。在每一部分中,各自的import语句应该按照模块的字母顺序来排序。

# python标准库

import abc, base64, copy, datetime, email, fcntl

# 第三方模块

import bs4,fake_useragent

# 自定义模块

import A, B, C, D

PEP8风格总结

'''

1.当编写python代码时,应该遵循PEP8编码风格。

2.与广大python开发者采用同一套代码风格,可以使项目更利于多人协同开发。

3.采用一致的风格来编写代码,可以让自己负责项目的二次开发工作更为容易。

'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PEP 8是Python编程规范的一部分,其包括了命名规范、注释规则和编程推荐等内容。错误信息PEP 8: E305 expected 2 blank lines after class or function definition, found 1意味着在函数定义后只有一个空行,但是规范要求在函数定义后添加两个空行。 解决这个问题的方法很简单,只需要在函数定义后面添加两个空行即可。这样就符合了PEP 8的要求,也能解决错误信息提到的问题。 如果你遵循了PEP 8编码规范,不仅能提高代码的可读性,也能让你的代码更加规范和易于维护。你可以下载PEP 8编程规范的文档,详细了解其的内容和建议。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E305 expected 2 blank lines after class or ...](https://blog.csdn.net/han1202012/article/details/120644818)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Python编程规范PEP8.pdf](https://download.csdn.net/download/wanderkid/12254753)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [PEP 8: E305 excepted 2 blank lines, after class or function definition, found 1](https://blog.csdn.net/feizuiku0116/article/details/126372276)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值