我在编写这个问题的代码时遇到了困难。我在一些地方看到有人问这个问题,但我仍然无法从他们提供的提示中找到答案。在
问题是:编写一个有两个函数的程序:first()和second()。Function first()应该打印字符串“In Function first()”,然后调用Function second()。函数second()应打印函数second()中的字符串。在全局scopre中,应该首先调用function()。在
这是我的密码。。在
def first():
first = "In function first"
def second():
second = "In function second"
print first(), second()
这个看起来更近了吗?它仍然不起作用,但我把打印功能放回去了。。在
first = "In function first"
不使函数返回"In function first"
。在我能理解你为什么会这么想。在某些语言中,返回值的方法是将其分配给函数。在其他语言中,赋值是一个表达式,在函数内部计算的最后一个表达式是返回值。所以,有很多种语言你所做的都能起作用。在
但Python不是其中之一。在Python中,返回值的唯一方法是使用
return
语句。如果不使用return
语句,调用者只得到None
。在因此,您的代码只是创建一个与函数同名的局部变量(令人困惑地),为其赋值,然后忽略该变量,因此它最终没有效果。在
你想要的是:
然而,虽然这会给你想要的输出,但它实际上并不是你所说的你想要的:
在这种情况下,它应该有一个}一个别人必须打印的值。在
print
,而不是{然后您需要将对
second()
的调用放在first
的定义内,而不是在它之外。在同样,它应该}。在
print
,而不是{所以,这更符合你的想法:
^{pr2}$也就是说,您编写的代码(使用此修复程序)实际上似乎比您想要编写的代码更好。从内部函数返回值并在最高级别处理输出通常比到处使用
print
更灵活。在相关问题 更多 >
编程相关推荐