鱼C论坛

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

[已解决]关于函数的一个小疑问

[复制链接]
发表于 2017-8-7 17:57:45 | 显示全部楼层 |阅读模式
1鱼币

  1. >>> def back():
  2.         print(123)
  3.         return ['1','小甲鱼',10]

  4. >>> back()
  5. 123
  6. ['1', '小甲鱼', 10]

  7. >>> temp=back()
  8. 123

  9. >>> temp
  10. ['1', '小甲鱼', 10]
复制代码


如上述代码所示:
疑问1:temp的运行结果为什么只是['1', '小甲鱼', 10],而和back()的运行结果不同

疑问2:为什么temp=back()这个赋值操作有输出结果,且是123
最佳答案
2017-8-7 17:57:46
疑问1:temp的运行结果为什么只是['1', '小甲鱼', 10],而和back()的运行结果不同

这是交互模式的约定,输入一个变量或函数,则自动显示其值。
>>> back() 运行函数,其中的print语句打印123,后面的列表则是自动显示的返回值。
123
['1', '小甲鱼', 10]

而交互模式对于赋值则不会自动显示结果。
>>> temp=back() 只是print 123
123


疑问2:为什么temp=back()这个赋值操作有输出结果,且是123
虽然是赋值语句,但运行了函数,函数内有print语句,自然有输出了。

最佳答案

查看完整内容

疑问1:temp的运行结果为什么只是['1', '小甲鱼', 10],而和back()的运行结果不同 这是交互模式的约定,输入一个变量或函数,则自动显示其值。 >>> back() 运行函数,其中的print语句打印123,后面的列表则是自动显示的返回值。 123 ['1', '小甲鱼', 10] 而交互模式对于赋值则不会自动显示结果。 >>> temp=back() 只是print 123 123 疑问2:为什么temp=back()这个赋值操作有输出结果,且是123 虽然是赋值语句 ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-8-7 17:57:46 | 显示全部楼层    本楼为最佳答案   
疑问1:temp的运行结果为什么只是['1', '小甲鱼', 10],而和back()的运行结果不同

这是交互模式的约定,输入一个变量或函数,则自动显示其值。
>>> back() 运行函数,其中的print语句打印123,后面的列表则是自动显示的返回值。
123
['1', '小甲鱼', 10]

而交互模式对于赋值则不会自动显示结果。
>>> temp=back() 只是print 123
123


疑问2:为什么temp=back()这个赋值操作有输出结果,且是123
虽然是赋值语句,但运行了函数,函数内有print语句,自然有输出了。

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-8-7 19:27:06 | 显示全部楼层
第一个是变量等于函数名,调用后的返回值不会显示
第二个是就显示刚才返回的字符串,不调用函数
不知道对不对
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-7 19:59:51 | 显示全部楼层
冬雪雪冬 发表于 2017-8-7 17:57
疑问1:temp的运行结果为什么只是['1', '小甲鱼', 10],而和back()的运行结果不同

这是交互模式的约定 ...

好的,谢谢您的答案。
那为什么运行temp只输出['1','小甲鱼',10],却没有输出123呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-8-7 20:05:03 | 显示全部楼层
爱学习的小fish 发表于 2017-8-7 19:59
好的,谢谢您的答案。
那为什么运行temp只输出['1','小甲鱼',10],却没有输出123呢

只有函数执行时,才print 123
而temp仅仅接收了函数的返回值(在接收时函数运行,pring 123)
temp的内容变成了['1','小甲鱼',10],再显示时就仅仅是列表了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-7 20:21:05 | 显示全部楼层
冬雪雪冬 发表于 2017-8-7 20:05
只有函数执行时,才print 123
而temp仅仅接收了函数的返回值(在接收时函数运行,pring 123)
temp的内 ...

哦哦,好的好的,表示恍然大悟。非常感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-1 08:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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