繁体   English   中英

终端打印结果在另一个位置?

[英]Terminal printing results at another location?

大家。 我是一名初学者程序员,我似乎无法在网络上的任何地方找到此信息,因此希望您能提供帮助。 我的问题是,有时当我尝试打印结果时,终端会吐出诸如“”或“”之类的内容,而不是返回结果。 实际上,我从书中直接遵循了非常短,非常简单的代码行,仍然获得了这些结果。

这里有一些例子可以更好地说明正在发生的事情。

在第一个示例中,“ potato”只是随机文本文档的文件句柄名称。

import nltk
def diversity(potato):
    return len(potato) / len(set(potato))
print diversity(potato)
#prints <function diversity at 0x107b5a848>">

要么

import nltk
print bigrams(['make', 'me', 'some', 'bigrams'])
#prints <generator object bigram at 0x1088a4d20> 

但是,在教科书中的示例中,仅显示了正确的打印结果。 如果真的很重要,那么我正在专门研究Bird,Klein和Loper撰写的《使用Python进行自然语言处理》一书,并且正在运行Python 2.7.9。

谁能解释正在发生的事情以及如何解决这个问题? 这些是非常简单的代码行,带有非常简单的答案,因此我的终端机似乎拒绝打印正确的答案这一事实令人烦恼且令人担忧。 谢谢!

第二个例子很容易解释。

nltk.bigrams函数的返回值是一个generator 如果要查看返回的实际值,则需要对其进行迭代并打印其值:

In [11]: for bigram in  nltk.bigrams(['make', 'me', 'some', 'bigrams']):
   ....:     print bigram
   ....:     
('make', 'me')
('me', 'some')
('some', 'bigrams')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM