打印程序有效,但打印额外的字母/数字

时间:2013-11-24 20:41:52

标签: python printing command-line sys

我正在尝试获取一个简单的程序来获取命令行参数并将其打印出来。任何名称加上解释标记的字符串。 示例:Bob !!!!

import sys

def hello(name):
    name = name + "!!!!"
    print(hello,name)

def main():
    hello(sys.argv[1])

main()

它正确打印出Bob !!!!,但还有其他一些东西:

函数你好,在0x7f69465145f0 Bob !!!! with< >围绕整个事情,除了鲍勃!!!!

我不确定为什么它不会简单地打印出来,鲍勃!!!!,通常没有其他东西。

此外,<<< >每次运行它都会改变。 函数你好 Bob !!!! 保持不变。

2 个答案:

答案 0 :(得分:5)

这是因为hello是您定义的函数的名称,因此print(hello, name)打印函数对象和字符串变量。如果您要打印hello Bob !!!!!,请改用print('hello', name)

答案 1 :(得分:0)

尝试

def hello(name):
    print('Hello, '+name+'!!!')