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

Python中为何print输出函数地址而非函数返回值?

问题解决:打印函数返回值却输出函数地址

你遇到的问题是因为直接打印了函数名eligible,这会输出函数对象的内存地址,而不是函数执行后的返回值。要获取返回值,必须调用函数(即加上括号和参数),再打印其结果。

另外注意:你代码里已经调用了一次eligible(age, language, planguage),但没有保存或打印这个结果,这一步是无效的。

修正后的代码

def eligible(age, lingo, language):
    return "Eligible!" if(int(age) in range(25, 46)) and (lingo=='ingles') and (language=='python') else "Not Eligible!"

age=input("What's your age?: ")
language=input("What language do you speak?: ")
planguage=input("What programing language do you use?: ")

# 方式1:直接打印函数调用的结果
print(eligible(age, language, planguage))

# 方式2:先保存结果再打印(二选一即可)
# result = eligible(age, language, planguage)
# print(result)

补充说明

  • 函数名本身是一个指向函数对象的引用,直接打印会输出其内存地址;只有加上括号传递参数调用函数,才会执行函数逻辑并返回结果。
  • 确认参数传递顺序和函数定义一致:你的函数定义中第二个参数是lingo(对应用户说的语言,需为ingles),第三个参数是language(对应编程语言,需为python),当前的参数传递是正确的。

内容的提问来源于stack exchange,提问作者vldrco

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:40:28