【发布时间】:2017-02-10 16:29:03
【问题描述】:
我是 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
出于好奇,当我在 output1 和 output2 前加上 print 时,为什么它会这样做?
【问题讨论】:
-
如果您是 Python 新手,为什么要从 Python 2 开始?从 Python 3 开始,Stack Overflow Python community 绝大多数是 recommends,python.org itself 也是如此。第 3 版是该语言的现在和未来,而第 2 版是过去。在先学习 2 的过程中,您会养成许多在学习 3 时需要纠正的坏习惯(最终您需要这样做),因此最好先从 3 开始,然后学习 2 中的差异稍后。
-
我从 2.7 开始,因为我正在查看的大多数教程都使用它。除此之外,我还读到有些库与 3 不兼容。我想我以后总是可以学习 3,我真的怀疑两者之间的差异无论如何是惊人的。 @MattDMo
-
很少有库不能与 3 一起使用。根据您将要执行的工作类型,这甚至可能永远不会成为问题。那是5年前,但不是现在。你会学习2个以后必须改掉的坏习惯,所以如果你现在才学习,最好先学习好方法。 3.5 中的标准库比 2.7 有了很大改进,具有更多功能,这意味着需要更少的第三方导入。如果你想先学 2,那是你的选择,但是很多比我经验丰富的人非常强烈推荐 3。
标签: python python-2.7 function