我正在使用imaplib进行Gmail访问,并遇到过:
# Count the unread emails
status, response = imap_server.status('INBOX', "(UNSEEN)")
unreadcount = int(response[0].split()[2].strip(').,]'))
print unreadcount
我只想知道:
status,
在“response =”前面。我会谷歌,但我不知道我甚至要求找到答案:(。
感谢。
答案 0 :(得分:13)
当一个函数返回一个元组时,它可以由多个变量读取。
def ret_tup():
return 1,2 # can also be written with parens
a,b = ret_tup()
a和b分别为1和2
答案 1 :(得分:5)
查看此页面: http://docs.python.org/tutorial/datastructures.html
第5.3节提到'多重赋值'又称'序列解包'
基本上,函数imap_server返回一个元组,而python允许一个快捷方式,允许你为元组的每个成员初始化变量。你可以轻松完成
tuple = imap_server.status('INBOX', "(UNSEEN)")
status = tuple[0]
response = tuple[1]
所以最后,只是一个句法快捷方式。您可以使用任务右侧的任何类似序列的对象执行此操作。
答案 2 :(得分:2)
虽然给出的答案肯定是足够的,但是这个python功能的快速应用是交换值的简易性。
在普通语言中,要交换变量x
和y
的值,您需要一个临时变量
z = x
x = y
y = z
但是在python中,我们可以将其缩短为
x, y = y, x