Py开发规范
编码
缩进
统一使用 4 个空格进行缩进
变量风格
BASE_PATH = ''
removeSectionx=''
remove_section=''
注释
"""
多行注释
"""
导包
import re, os , cv2
import re
import os
import cv
from PIL import Image
from PIL import ImageFilter
from PIL import Image, ImageFilter
1. 相对路径导包(相对项目路径), 少用绝对导包
from .xxx import timmer
1. 不与文件名一致
2. 包名贴合实际意义
函数名字
def remove_async_task_result():
pass
函数参数
固定函数(单一功能函数) 指定参数
def gen_hash_key(args, user_id):
pass
函数功能复杂,且变量具有动态变换,使用万能传参
def get_save_tif_path(*args, **kwargs):
pass
类
1. 类 声明
1.1 驼峰格式 (首字母大写)
1.2 object类继承 强制性(适配py2语法)
1.3 命名具有实际意义
class MySQLDbTool(object):
2. 注意 静态函数 , 类函数 ,私有函数使用
@classmethod
def cls_method(cls):
pass
@staticmethod
def static_method():
pass
def _private_method():
pass
计算符号
a = a+1
a+=1
换行符使用
\
.join(SatelliteParameter, SatelliteParameter.sensorid == cls.sensor_id)\
.join(SatelliteInfo, SatelliteInfo.id == SatelliteParameter.sid)\
.filter(*filter_condition).order_by(cls.sensor_id, cls.id).all()
上下文管理
with open("file_name","r",encoding="utf-8") as f:
pass
def __enter__(self):
return self
def __exit__(self, exc_type, exc_val, exc_tb):
pass
未完成事件管理
循环
字符串拼接
1. f"{imperative}~{expletive}"
2. "{}{}".format(imperative, expletive)
3. '%s, %s!' % (imperative, expletive)
文件路径
# os 模块
1. os.path.join() 文件路径拼接
2. os.path.abspath(__file__) 获取当前文件绝对路径
3. os.path.basename('路径') 获取文件名
4. os.path.exists(algorithm_path) 是否存在
5. os.makedirs(algorithm_path) 创建文件目录
内置函数
map
reduce
filter
sorted
....
匿名函数
lambda 匿名函数, 结合内置函数使用
sorted()
表达式
[i for i in range(1,9)]
[i for i in range(1,9)]
{i for i in range(1,9)}
{i:i for i in range(1,9)}
常用数据类型
字典 常使用 get形式取值, 关键字取值容易导致程序中断
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?