Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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:打印一个简单的函数_Python_Python 2.7_Function - Fatal编程技术网

Python:打印一个简单的函数

Python:打印一个简单的函数,python,python-2.7,function,Python,Python 2.7,Function,我是Python和编程的绝对初学者,我刚刚第一次接触函数 我在下面定义了两个简单的函数: def output1(): print "Hello, world!" def output2(): print "Hello, there!" output1() output2() 将上述内容保存到名为function.py的脚本中后,我使用windows power shell运行该脚本,并按预期打印以下内容: Hello, world! Hello, there! 但是,当我将

我是Python和编程的绝对初学者,我刚刚第一次接触函数

我在下面定义了两个简单的函数:

def output1():
   print "Hello, world!"

def output2():
   print "Hello, there!"

output1()
output2()
将上述内容保存到名为function.py的脚本中后,我使用windows power shell运行该脚本,并按预期打印以下内容:

Hello, world!
Hello, there!
但是,当我将脚本修改为:

def output1():
   print "Hello, world!"

def output2():
   print "Hello, there!"

print output1()
print output2()
它打印:

Hello, world!
None
Hello, there!
None

出于好奇,当我用print作为output1和output2的前缀时,它为什么会这样做?

函数可以有一个返回值:调用函数,它会将某些内容返回到调用它的位置

Python中的函数默认返回
None

您现在还打印了
output1
output2
的返回值


您可以阅读Python语言教程的更多内容。

它是这样工作的,因为:

print output1()
表示要打印函数的结果(即返回值)

因为函数中没有返回,所以默认情况下是无返回

def output1():
   print "Hello, world!"
def output2():
   print "Hello, there!"
   return "Something"

print output1()
print output2()
将导致:

Hello, world!
None
Hello, there!
Something

如果您是Python新手,为什么要从Python 2开始呢?绝大多数人都是从Python3开始的。版本3是语言的现在和未来,而版本2是过去。在先学习2的过程中,当你学习3时,你会发现许多坏习惯需要纠正(你最终需要这样做),因此最好先从3开始,然后再学习2中的差异。我从2.7开始,因为我正在观看的大多数教程都使用它。除此之外,我还了解到有些库与3不兼容。我想我总是可以在以后学习3,我真的怀疑这两者之间的差异是惊人的@MattdMother剩下的库中很少有不适用于3的。根据你将要做的工作类型,这可能永远都不是问题。那是5年前,但不是现在。你会从2中学到坏习惯,这些坏习惯将在以后不得不改掉,所以如果你现在只是在学习,最好先学会好的方法。与2.7相比,3.5中的标准库有了很大的改进,具有更多的特性,这意味着需要的第三方导入更少。如果你想先学习2,那是你的选择,但是很多比我经验丰富的人强烈推荐3。