python-dev
Python 开发规范。当用户操作 .py、pyproject.toml、requirements.txt、setup.py 文件, 或涉及 FastAPI、Django、Flask、pytest、asyncio 开发时触发。 包含 PEP 8 风格、类型注解、异常处理、测试规范、异步编程、性能优化等。
DeepseekModel
官方收录技能
质量 优秀 · 90
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=doccker-cc-use-exp-cursor-skills-python-dev-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name python-dev description Python 开发规范。当用户操作 .py、pyproject.toml、requirements.txt、setup.py 文件, 或涉及 FastAPI、Django、Flask、pytest、asyncio 开发时触发。 包含 PEP 8 风格、类型注解、异常处理、测试规范、异步编程、性能优化等。 Python 开发规范 参考来源: PEP 8、Google Python Style Guide 工具链 black . # 代码格式化 isort . # import 排序 mypy . # 静态类型检查 ruff check . # 快速 linter(推荐) pytest -v # 运行测试 pytest --cov=src # 覆盖率 命名约定 类型 规则 示例 模块/包 小写下划线 user_service.py 类名 大驼峰 UserService , HttpClient 函数/变量 小写下划线 get_user_by_id , user_name 常量 全大写下划线 MAX_RETRY_COUNT 私有 单下划线前缀 _internal_method 类型注解 from typing import Optional , List , Dict from dataclasses import dataclass @dataclass class User : id : int name: str email: Optional [ str ] = None def find_user_by_id ( user_id: int ) -> Optional [User]: ... # Python 3.10+ 可用新语法 def greet ( name: str | None = None ) -> str : return f"Hello, {name or 'World' } " 异常处理 # ✅ 好:捕获具体异常 try : user = repository.find_by_id(user_id) except DatabaseError as e: logger.error( f"Failed to find user {user_id} : {e} " ) raise ServiceError( f"Database error: {e} " ) from e # ✅ 好:上下文管理器 with open ( "file.txt" , "r" ) as f: content = f.read() # ❌ 差:裸 except try : do_something() except : pass 测试规范(pytest) import pytest from unittest.mock import Mock class TestUserService : @pytest.fixture def user_service ( self ): repository = Mock() return UserService(repository) def test_find_by_id_returns_user ( self, user_service ): expected = User( id = 1 , name= "test" ) user_service.repository.find_by_id.return_value = expected result = user_service.find_by_id( 1 ) assert result == expected # 参数化测试 @pytest.mark.parametrize( "input,expected" , [ ( 1 , 1 ), ( 2 , 4 ), ( 3 , 9 ), ] ) def test_square ( input , expected ): assert square( input ) == expected 异步编程 import asyncio async def fetch_user ( user_id: int ) -> User: async with aiohttp.ClientSession() as session: async with session.get( f"/api/users/ {user_id} " ) as response: data = await response.json() return User(**data) # 限制并发数 async def fetch_with_limit ( user_ids: list [ int ], limit: int = 10 ) -> list [User]: semaphore = asyncio.Semaphore(limit) async def fetch_one ( uid: int ) -> User: async with semaphore: return await fetch_user(uid) return await asyncio.gather(*[fetch_one(uid) for uid in user_ids]) 性能优化 场景 方案 大数据处理 使用生成器 yield 字符串拼接 使用 ''.join() 查找操作 使用 set 或 dict 并发 I/O 使用 asyncio CPU 密集 使用 multiprocessing 项目结构 project/ ├── src/ │ └── myproject/ │ ├── __init__.py │ ├── models/ │ ├── services/ │ └── utils/ ├── tests/ │ ├── conftest.py │ └── test_*.py ├── pyproject.toml └── README.md
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |