python多个赋值
问题描述
我在学习python的Opencv库时遇到了这样的代码,不知道为什么左边两个值,但是右边只有一个
相关代码
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(Ture):
ret,frame = cap.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
题目来源及自己的思路
python多个赋值我知道可以a,b = 1,2
但这样子实属迷惑
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
python中函数可以返回多个值。这个叫多重赋值,很方便。例如交互两个变量的值就可以这样写:a, b = b, a,不用中间变量。
因为这个函数返回值是一个元组,元组内有二个元素,可以分别赋值到ret, frame里。
这个叫【可迭代拆包】,只要赋值符号右边是个【可迭代对象】,就能被拆包后直接赋值给多个变量。
这叫做拆包,可以做到平行赋值,类似于JavaScript语言中的解构赋值