如何打印用于执行代码的命令而不在Python中执行它

如何打印用于执行代码的命令而不在Python中执行它,python,Python,我是中级水平,所以这可能是一个简单的问题,但我不知道如何正确地表达它,所以提前道歉 我试图显示什么命令导致什么输出,并打印出所有这些。例如:numpy.arange(2)打印出一个数组,我想用一个print语句来表示: numpy.arange(2)“prints”数组 其中array将是实际的数组 所以我的代码是: phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)') mo = phoneNumRegex.search('My nu

我是中级水平,所以这可能是一个简单的问题,但我不知道如何正确地表达它,所以提前道歉

我试图显示什么命令导致什么输出,并打印出所有这些。例如:numpy.arange(2)打印出一个数组,我想用一个print语句来表示:
numpy.arange(2)“prints”数组
其中array将是实际的数组

所以我的代码是:

phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')
mo = phoneNumRegex.search('My number is 415-555-4242.')
for i in range(1,3):
    y = str(mo.group(i))
    x = mo.group(i)
    print y + "outputs" + x
所以我的目标是说“mo.group(1)输出”和任何输出,然后是“mo.group(2)输出”和任何输出。实际输出并不重要,但我希望mo.group(I)接受值I,但不执行它。我尝试过的任何代码都不适用于我正在尝试的代码。
对不起,如果这让人困惑的话。非常感谢

我相信您想说
x=type(mo.group(I))
并打印出来,这将为您提供
mo.group(I)
返回的类型,例如str、int等。

使用str时,您说的是“从mo.group(I)返回的对象中生成一个字符串”。 你需要的是这个

y = "mo.group({:})".format(i)
这表示“创建一个字符串文字对象;然后使用该对象的format方法将{:}替换为对象i的值,不管它是什么类型”

您可以通过这样做更进一步:

print "mo.group({:}) output is : {:}".format(i,x)

它在一行中打印i和x的值以及一个小文本来描述它。“”.format()是python>2.6中执行此操作的首选方法,它可以执行很多操作。检查以了解其功能。

感谢您的回复。我想特别写出‘mo.group(I)’这个词,但我需要for循环每次都改变I值,你介意给出一个更详细的输出示例吗?我不确定我是否完全理解。嘿,我已经弄明白了。如果你还好奇的话,看看上面的评论。谢谢哈哈,谢谢你最后的评论,我刚发帖就看到了。我不知道如何格式化我的评论。。。这是我糟糕的解决方案:
对于范围(1,3)内的i:y=str(i)+''x=mo.group(i)print'mo.group(“+y+”输出“+x
而不是一次构建一位字符串,使用格式将使您的代码更易读、更简洁、更灵活,尤其是当您的输出复杂性增加时…
print”mo.group({:})输出为:{:}。格式(i,x)
更容易理解,您可以指定类型、浮点值的精度、字符串的长度/对齐方式/填充等。python 2.7是的,您的方式肯定要好得多。我只是用我的知识搜索了一种方法,这是我唯一能找到的。但现在我知道了字符串格式太感谢了!