为何遍历*argv的参数是控制台会有None出现?

#!/usr/bin/env python
# encoding: utf-8
def test_args(*args):
    for arg in args:
        print arg


print test_args('hi', 24, 5)

运行上面这段代码控制台会多输出一个none是什么意思?

C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/demo/interpy/1.3.py
hi
24
5
None

Process finished with exit code 0

阅读 3.3k
1 个回答

如果写成这样,最后不会多一个None:

#!/usr/bin/env python
# encoding: utf-8
def test_args(*args):
    for arg in args:
        print arg

test_args('hi', 24, 5)

你的写法多一个None是因为:函数test_args中没定义返回值,默认会返回None,当你print test_arg('hi', 24, 5)的时候,就把函数的返回值None打印出来了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题