Python中对应C++ utils.h的等价实践:是否创建utils.py导入?
Python 中对应C++ utils.h的等价实践
没错,Python里最直接的等价方案就是创建utils.py这类工具模块文件,然后在需要用到这些通用函数的地方导入即可——这和C++里用utils.h封装通用工具函数的思路完全一致,都是为了复用代码、避免把不属于类的函数硬塞到类里。
具体实践可以参考这些细节:
- 基础用法:创建
utils.py,把通用的小型函数写在里面,比如:
然后在其他文件里导入使用:# utils.py def format_number(num: float) -> str: return f"{num:.2f}" def is_empty_string(s: str) -> bool: return s.strip() == ""# 导入整个模块 import utils print(utils.format_number(3.1415)) # 只导入需要的函数 from utils import is_empty_string print(is_empty_string(" ")) # 带别名导入(避免命名冲突) from utils import format_number as fmt_num print(fmt_num(2.7182)) - 进阶拆分:如果工具函数数量多、功能杂,别硬塞在一个
utils.py里,按功能拆分多个文件甚至做成一个工具包。比如创建utils/目录,里面放string_utils.py、math_utils.py,再给目录加个__init__.py(Python 3.3+可以不用,但加了更规范),之后就能按模块导入:from utils.string_utils import is_empty_string from utils.math_utils import calculate_average - 核心原则:和C++的思路保持一致——只把不属于特定类、无状态、通用复用的函数放到工具模块里,比如字符串处理、数据转换、常用计算这类;别把本该属于某个类的成员方法硬挪到utils里,破坏代码的逻辑归属。
内容的提问来源于stack exchange,提问作者A. Fenzry
相关产品推荐
相关产品推荐

