In Python, I have a function that has a function as a parameter. The function is expected to return a string. However, in some cases, the function is a generator. Is there a way to determine if a function is a generator or not?
问问题
223 次
2 回答
1
我猜你有一个函数有时会返回一个字符串,有时是一个生成器(甚至可能是另一种迭代器)在单字符串上。(或者,也许,有时你有一个总是返回字符串的函数,有时还有一个生成字符的生成器函数。但这并没有太大区别。)
如果这是真的,那么可能没有理由首先检查。你可以得到一个字符串,循环字符等,而不必知道你得到了哪个:
s = ''.join(my_function())
for ch in my_function():
do_something_with_char(ch)
(如果我猜错了,这个答案可能与您的问题完全无关。)
于 2013-10-18T00:20:44.743 回答
0
怎么样
if not isinstance(result,basestring):
#its not a string type object so it must be a generator
或者
import types
if isinstance(result,types.GeneratorType):
于 2013-10-17T23:57:53.253 回答