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

自学Python:使用def定义函数打印姓名无输出问题求助

解决Python函数打印姓名的问题

我来帮你逐个分析这些代码的问题,然后给出正确的实现方式~

你的四个写法的问题分析

第一种写法

def student(firstname, lastname):
    fullname = 'Sameer Shrestha'
    return fullname
print(student)

问题出在最后一行:你打印的是student这个函数对象本身,而不是调用函数得到返回值。正确的调用方式应该是给函数传参数,写成print(student("Sameer", "Shrestha"))。另外,你在函数里硬编码了名字,其实可以用传入的参数拼接,比如fullname = f"{firstname} {lastname}",这样函数更通用。

第二种写法

def student(firstname, lastname):
    fullname = 'Sameer Shrestha'
    print(fullname)

这个函数定义完成后,你没有调用它,所以程序不会执行函数内部的打印逻辑,自然没有输出。需要在函数定义后加上一行调用代码:student("Sameer", "Shrestha")。

第三种写法

def student(firstname, lastname):
    fullname = 'Sameer Shrestha'
    print(student)

和第二种一样,你没调用函数;而且就算调用了,函数内部打印的还是函数对象,不是你要的姓名。

第四种写法

def name(firstname,lastname):
    return name
fullname = name(Sameer,Shrestha)
print(name)

这里有三个问题:

  • 传递参数时,Sameer和Shrestha是字符串,必须加引号,否则会被当成未定义的变量报错;
  • 函数返回的是name函数本身,不是拼接后的姓名;
  • 最后打印的是name函数对象,而不是fullname变量。

正确的实现示例

如果想要实现一个能拼接并打印姓名的函数,有两种常见方式:

方式1:函数返回姓名,外部打印

def get_full_name(firstname, lastname):
    # 用传入的参数拼接全名
    fullname = f"{firstname} {lastname}"
    return fullname

# 调用函数并打印结果
print(get_full_name("Sameer", "Shrestha"))

方式2:函数内部直接打印

def print_full_name(firstname, lastname):
    fullname = f"{firstname} {lastname}"
    print(fullname)

# 调用函数即可触发打印
print_full_name("Sameer", "Shrestha")

这样就能正常输出Sameer Shrestha啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 16:52:58