✅ 包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!
Python代码规范主要遵循PEP 8(Python Enhancement Proposal 8)标准。以下是详细的Python代码书写规范:

1. 代码布局
- 缩进:使用4个空格进行缩进(不要使用制表符),续行应该使用悬挂缩进。
def long_function_name(var_one, var_two, var_three, var_four):
print(var_one)
def long_function_name(
var_one, var_two,
var_three, var_four):
print(var_one)
- 最大行长度:每行不超过79个字符,文档字符串或注释不超过72个字符。
- 空行:顶层函数和类定义之间用两个空行,类内部方法定义之间用一个空行,函数内逻辑段落之间用一个空行。
class MyClass:
"""类文档字符串"""
def __init__(self):
pass
def method_one(self):
pass
def method_two(self):
pass
def top_level_function():
pass
2. 导入(Imports)
- 导入应该分行写,不要写在一行
- 导入顺序:标准库 → 第三方库 → 本地应用/库
- 每组导入之间用空行分隔
import os
import sys
import requests
import django
from mymodule import MyClass
from mypackage import my_function
import os, sys
3. 空格使用
- 需要空格的情况:运算符两侧,逗号、分号、冒号后(除非在行尾),函数参数列表中,等号两侧不加空格。
x = 1
y = 2
long_variable = 3
def complex(real, imag=0.0):
return magic(r=real, i=imag)
x=1
y =2
long_variable = 3
- 不需要空格的情况
- 括号、方括号、花括号内部
- 逗号、分号、冒号前
spam(ham[1], {eggs: 2})
foo = (0,)
spam( ham[ 1 ], { eggs: 2 } )
foo = (0, )
4. 注释:文档字符串(Docstrings),使用三重双引号,模块、类、公共方法都应该有文档字符串。
def calculate_area(radius):
"""
计算圆的面积
Args:
radius (float): 圆的半径
Returns:
float: 圆的面积
"""
return 3.14159 * radius ** 2
x = x + 1
result = process_data(data)
5. 命名规范
- 变量和函数:使用小写字母,单词间用下划线分隔,例如:my_variable, calculate_total。
- 常量:全部大写,单词间用下划线分隔,例如:MAX_CONNECTIONS, DEFAULT_TIMEOUT
- 类:使用驼峰命名法(CapWords)例如:MyClass, HttpClient
模块和包
- 模块名:简短,全小写,可使用下划线
- 包名:简短,全小写,不建议使用下划线
user_count = 10
def get_user_info():
MAX_USERS = 100
API_KEY = "secret"
class UserManager:
pass
6. 编程建议
- 比较操作使用is和is not来比较单例(如None),使用==进行值比较。
if x is None:
pass
if name == "John":
pass
if x == None:
pass
try:
value = int(string_value)
except ValueError as e:
print(f"无法转换为整数: {e}")
try:
value = int(string_value)
except:
print("发生错误")
if is_valid:
pass
if is_valid == True:
pass
- 完整示例:遵循这些规范可以让你的代码更加易读、易维护,并且符合Python社区的通用标准。
"""
示例模块,演示Python代码规范
"""
import json
import logging
from typing import List, Optional
import requests
from django.conf import settings
logger = logging.getLogger(__name__)
class UserManager:
"""用户管理类"""
MAX_USERS = 100
def __init__(self, api_url: str):
self.api_url = api_url
self.users = []
def fetch_users(self) -> List[dict]:
"""
从API获取用户列表
Returns:
List[dict]: 用户列表,每个用户是字典格式
"""
try:
response = requests.get(self.api_url, timeout=settings.REQUEST_TIMEOUT)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
logger.error("获取用户数据失败: %s", e)
return []
def add_user(self, user_data: dict) -> bool:
"""添加用户"""
if len(self.users) >= self.MAX_USERS:
logger.warning("达到最大用户数限制")
return False
self.users.append(user_data)
return True
def calculate_discount(price: float, discount_rate: float = 0.1) -> float:
"""
计算折扣价格
Args:
price: 原价
discount_rate: 折扣率,默认为0.1(10%)
Returns:
折扣后的价格
"""
if price < 0:
raise ValueError("价格不能为负数")
if not 0 <= discount_rate <= 1:
raise ValueError("折扣率必须在0-1之间")
discounted_price = price * (1 - discount_rate)
return round(discounted_price, 2)
def main():
"""主函数"""
user_manager = UserManager("https://api.example.com/users")
users = user_manager.fetch_users()
for user in users:
print(f"用户: {user['name']}")
if __name__ == "__main__":
main()

🟢 总结
- 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!
🟡 文末福利
- 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
🔴包含编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
- ① Python所有方向的学习路线图,清楚各个方向要学什么东西
- ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
- ③ 100多个Python实战案例,学习不再是只会理论
- ④ 华为出品独家Python漫画教程,手机也能学习
✅ 可以扫描下方二维码领取【保证100%免费】
