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

0 python printing command-line sys

我试图获得一个简单的程序来获取命令行参数并打印出来.任何名称加上解释标记的字符串.例子:鲍勃!!!!

import sys

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

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

main()
Run Code Online (Sandbox Code Playgroud)

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

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

我不知道为什么它不会简单地打印出来,鲍勃!!!!,通常没有其他的东西.

此外,每次运行时,<>中的数字/字母组合都会发生变化.将在功能打招呼鲍勃!!!! 保持不变.

Mac*_*Gol 5

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