Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这个函数在交互式shell中不返回任何内容?_Python_Function - Fatal编程技术网

Python 为什么这个函数在交互式shell中不返回任何内容?

Python 为什么这个函数在交互式shell中不返回任何内容?,python,function,Python,Function,当我编写这段代码,然后将添加两美分(mylist)到交互式shell中时,我没有得到任何回报。它只是转到下一行 mylist = ["kiwi", "apple"] def add_two_cents(mylist): mylist.append("two cents") 您没有返回任何内容,因此它不会在解释器中打印任何内容。但是列表是可变的,因此如果不想返回,就不必返回,但是如果想看到更改,就需要打印列表。注意,我在函数外部重命名了mylist用法,以明确哪个是函数变量,哪个是本机变量

当我编写这段代码,然后将
添加两美分(mylist)
到交互式shell中时,我没有得到任何回报。它只是转到下一行

mylist = ["kiwi", "apple"]
def add_two_cents(mylist):
  mylist.append("two cents")

您没有返回任何内容,因此它不会在解释器中打印任何内容。但是列表是可变的,因此如果不想返回,就不必返回,但是如果想看到更改,就需要打印列表。注意,我在函数外部重命名了mylist用法,以明确哪个是函数变量,哪个是本机变量

def add_two_cents(mylist);
  mylist.append("two cents")
  pass #just to point out end of function


foo = ["kiwi", "apple"]
add_two_cents(foo)
print(str(foo)) # this will print a string representation of foo

您只需要在“return”语句处执行操作,首先,如果在函数中省略了
return
,这与编写
returnnone
相同。因此,您的函数确实返回
None
,但您看不到,因为默认情况下,
None
不会显示在交互式REPL shell中。这就是为什么你什么都没看到

此外,如果你想看一些东西,你可能想看你修改过的列表。因此,您应该在函数末尾添加
return mylist


最后,由于
mylist
属于
list
类型,因此您正在更改一个可变表,实际上根本不需要返回该列表。只需再次打印它,就可以看到它发生了变化。

因为您的函数没有返回任何内容。虽然它没有格式化为代码,但它没有;您的函数似乎没有
return
语句,因此它不会返回任何内容。您似乎也没有在任何地方调用该函数。您可以更具体地说明您的期望吗?在调用函数后,您期望发生什么?函数只返回修改后的mylist变量。
list.append
只返回现有列表中的项目。
mylist = ["kiwi", "apple"]
def add_two_cents(mylist):
   mylist.append("two cents")
   return mylist