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

Python multiprocessing多进程代码运行print无数值输出问题咨询

问题原因

你的多进程逻辑本身完全正确,出现该问题是字符串格式化的语法错误,和multiprocessing模块无关。
Python的str.format()方法要求字符串中必须使用占位符{}来标记参数插入的位置,你现有代码中的'Cube: '.format(num*num*num)、'Square: '.format(num*num)的字符串前缀没有预留占位符,传入的计算结果无法被插入到输出字符串中,因此只会打印固定前缀。

解决方法

仅需修改两个打印函数的格式化逻辑即可,有两种常用实现方案:

  • 方案1:保留format语法,给字符串添加占位符
def print_cube(num):
    print('Cube: {}'.format(num*num*num))

def print_square(num):
    print('Square: {}'.format(num*num))
  • 方案2:使用Python3.6及以上版本支持的f-string语法,写法更简洁直观
def print_cube(num):
    print(f'Cube: {num*num*num}')

def print_square(num):
    print(f'Square: {num*num}')

修改后运行即可得到预期输出:

Cube: 1000
Square: 100
Done!

内容的提问来源于stack exchange,提问作者Hung Vo Van

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:06:02