You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 07:40:36