鱼C论坛

 找回密码
 立即注册
查看: 933|回复: 5

为何运行结果是这样排列

[复制链接]
发表于 2024-1-2 21:41:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 lzb1001 于 2024-1-2 21:44 编辑

def a():
    print('执行a函数')
    return 'a'
print(a(), a(), a())

为何结果是下面这样排列:

执行a函数
执行a函数
执行a函数
a a a


而不是下面三种排列方式里面其中一种:


执行a函数 执行a函数 执行a函数
a
a
a



执行a函数 执行a函数 执行a函数
a a a



执行a函数
执行a函数
执行a函数
a
a
a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-2 21:41:44 | 显示全部楼层
这是因为在你的代码中,`return 'a'` 的位置不正确。在你的代码中,`return 'a'` 被当作了 `a()` 函数内部的一行代码,而不是作为 `a()` 函数的返回值。因此,每次调用 `a()` 函数时,都会先打印出 "执行a函数" 这句话,然后打印出 `a()` 函数的返回值 `'a'`。

要实现你想要的结果,你需要将 `return 'a'` 放在 `a()` 函数内部的最后一行,这样它才会成为 `a()` 函数的返回值。

下面是修正过的代码:
def a():
    print('执行a函数')
    return 'a'
    
print(a(), a(), a())

现在,每次调用 `a()` 函数时,首先会打印出 "执行a函数" 这句话,然后打印出 `a()` 函数的返回值 `'a'`。因此,运行结果会是:
执行a函数
a 执行a函数
a 执行a函数
a

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-2 21:45:44 | 显示全部楼层
FishC 发表于 2024-1-2 21:41
这是因为在你的代码中,`return 'a'` 的位置不正确。在你的代码中,`return 'a'` 被当作了 `a()` 函数内部 ...

1、看清楚我的代码哦
2、运行后的结果不是你写的这样哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-2 21:46:01 | 显示全部楼层
lzb1001 发表于 2024-01-02 21:45
1、看清楚我的代码哦
2、运行后的结果不是你写的这样 ...


非常抱歉,我理解错你的代码了。请允许我重新解释一下。

根据你提供的代码 `print(a(), a(), a())`,首先需要明确的是,在 Python 中函数的执行顺序是从左到右的。所以,我们可以简化代码为以下形式:
result1 = a()
result2 = a()
result3 = a()

print(result1, result2, result3)

现在,我们来分析这段代码的执行过程:

1. 首先调用 `a()` 函数并打印出 "执行a函数",然后将返回值 `'a'` 赋值给 `result1`。
2. 接下来再次调用 `a()` 函数并打印出 "执行a函数",然后将返回值 `'a'` 赋值给 `result2`。
3. 最后一次调用 `a()` 函数并打印出 "执行a函数",然后将返回值 `'a'` 赋值给 `result3`。

因此,最终的输出结果会是:执行a函数 执行a函数 执行a函数 a a a

希望这次的解释能更好地回答你的问题。如果还有其他疑问,请随时问我。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-3 08:23:02 | 显示全部楼层
为何不是这样的结果呢?
执行a函数
a
执行a函数
a
执行a函数
a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-3 13:13:42 | 显示全部楼层
因为python里边print默认只在结尾处输出一次换行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 22:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表