这是我学习python的第一天。所以这对你们许多人来说都是一个noob问题。请参阅以下代码:
#!/usr/bin/env python
import sys
def hello(name):
name = name + '!!!!'
print 'hello', name
def main():
print hello(sys.argv[1])
if __name__ == '__main__':
main()
我跑的时候
$ ./Python-1.py alice
hello alice!!!!
None
现在,我无法理解"None"
来自何处?
答案 0 :(得分:24)
计算代码中print
个语句的数量。您会看到在"hello alice!!!"
函数中打印hello
,和打印hello
函数的结果。由于hello
函数不返回值(您使用return
语句执行),因此最终返回对象None
。 print
功能中的main
最终会打印None
。
答案 1 :(得分:6)
更改您的
def main():
print hello(sys.argv[1])
到
def main():
hello(sys.argv[1])
您正在从hello方法中显式打印返回值。由于您没有指定返回值,因此返回None
,这是您在输出中看到的。