Python 如何返回所有字符串
我的代码只返回一个字符串,但当我使用print而不是return时,它会打印所有结果。如何返回相同的结果,就像使用return时的打印一样?当使用return时,它会退出函数,并且不会像使用print时那样在循环中不断迭代。尝试yield。当您使用return时,它将退出函数,而不会像print那样在循环中不断迭代。尝试yield。问题是,当循环命中第一个Python 如何返回所有字符串,python,list,return,Python,List,Return,我的代码只返回一个字符串,但当我使用print而不是return时,它会打印所有结果。如何返回相同的结果,就像使用return时的打印一样?当使用return时,它会退出函数,并且不会像使用print时那样在循环中不断迭代。尝试yield。当您使用return时,它将退出函数,而不会像print那样在循环中不断迭代。尝试yield。问题是,当循环命中第一个return语句时,函数将退出,循环将不会继续。使用print将允许循环继续 两个选项是在开始循环之前创建列表,将状态添加到循环中的列表,然后
return
语句时,函数将退出,循环将不会继续。使用print
将允许循环继续
两个选项是在开始循环之前创建列表,将状态添加到循环中的列表,然后在循环后返回列表
使用
yield
关键字而不是return
将允许其他函数在结果上循环。有关yield
关键字的更多详细信息可在此处找到:(在实际文档中加上:)。问题是,当循环命中第一个return
语句时,函数将退出,循环将不会继续。使用print
将允许循环继续
两个选项是在开始循环之前创建列表,将状态添加到循环中的列表,然后在循环后返回列表
使用
yield
关键字而不是return
将允许其他函数在结果上循环。关于yield
关键字的更多详细信息可以在这里找到:(在实际文档中加上:)。更改您为yield返回的值,然后您可以为feeds()中的f返回:
更改您为yield返回的值,然后您可以为feeds()中的f返回:
好的,它可以工作,我如何将此结果定义为变量?我想把它发送到一个mako模板。当你使用yield语句时,它会把函数变成一个生成器,可以像列表一样使用它。将其转换为列表最简单的方法就是说x=list(fbfeed()),它显示的输出类似于[u'\u0406\u0440\u0438\u043d\u0430\u0421\u0435\u0445',无,在此处将您的模板更改为R3D-->http://bit.ly/14NYfaJ?477259&cid=theme“]
如何修复它???这可能值得开始另一个问题。我相信这些是unicode字符。Python有一个str.decode('utf-8')或类似的东西,但我对它不太熟悉。好的,它可以工作,我如何将这个结果定义为一个变量?我想把它发送到一个mako模板。当你使用yield语句时,它会把函数变成一个生成器,可以像列表一样使用它。将其转换为列表最简单的方法就是说x=list(fbfeed()),它显示的输出类似于[u'\u0406\u0440\u0438\u043d\u0430\u0421\u0435\u0445',无,在此处将您的模板更改为R3D-->http://bit.ly/14NYfaJ?477259&cid=theme“]
如何修复它???这可能值得开始另一个问题。我相信这些是unicode字符。Python有一个str.decode('utf-8')或类似的东西,但我对它不太熟悉。
# -*- coding: utf-8 -*-
import os
import fbconsole
here = os.path.dirname(os.path.abspath(__file__))
def fbfeed():
fbconsole.APP_ID = '588914247790498'
fbconsole.AUTH_SCOPE = ['publish_stream', 'publish_checkins', 'read_stream', 'offline_access']
fbconsole.authenticate()
newsfeed = fbconsole.get('/me/home')
newsfeedData = newsfeed["data"]
for status in newsfeedData:
fromn = [status['from']['name']]
name = [status.get('name', None)]
description = [status.get('description', None)]
if description == name is None:
return fromn
elif description is None:
return fromn.extend(name)
elif name is None:
return fromn.extend(description)
else:
return fromn + name + description