博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ValueError: too many values to unpack (expected 2)
阅读量:5850 次
发布时间:2019-06-19

本文共 1184 字,大约阅读时间需要 3 分钟。

class Mymeta(type):    def __new__(cls, class_name, class_bases, class_attrs):        print('--->', cls)  # ---> 
print('--->', class_name) # ---> Chinese print('--->', class_bases) # ---> (
,) print('--->', class_attrs) # 'Chinese', 'country': 'china', 'skin': 'yello', '__init__': .... print(class_attrs.items()) update_attrs = {} for key, value in class_attrs: if not callable(value) and not key.startswith('__'): update_attrs[key.upper()] = value else: update_attrs[key] = value return type.__new__(cls, class_name, class_bases, update_attrs)class Chinese(object, metaclass=Mymeta): country = 'china' skin = 'yello'

 

返回了下面的错误:

for key, value in class_attrs:ValueError: too many values to unpack (expected 2)

原因是字典这个是一个迭代器对象,参考官方文档找到下列说明,字典只支持Key的遍历,,如果想对key,value,则可以使用items方法。

The “implicit” iteration that dictionaries support only iterates over keys.

python只支持对于key的遍历,所以不能使用for k,v这种形式,这个时候会提示ValueError: too many values to unpack,

正确代码如下:

for key, value in class_attrs.items():

转载于:https://www.cnblogs.com/lshedward/p/10082997.html

你可能感兴趣的文章
Windows Server 2008 RemoteApp---发布应用程序
查看>>
白帽子技术分析会话劫持实战讲解
查看>>
我的友情链接
查看>>
yum的三种方式
查看>>
Redis分布式缓存安装和使用
查看>>
PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程以及注意事项
查看>>
20天精通 Windows 8:系列课程资料集
查看>>
html5 <figure> 标签
查看>>
linux的I/O多路转接select的fd_set数据结构和相应FD_宏的实现分析
查看>>
Mysql数据库InnoDB存储引擎的隔离级别
查看>>
开源监控软件 Hyperic 的两种插件
查看>>
TOMCAT
查看>>
无土栽培中的物联网技术应用
查看>>
div contenteditable="true"各个浏览器上的解析
查看>>
Spark学习记录(二)Spark集群搭建
查看>>
Python基本数据类型之字典
查看>>
php引用(&)详解及注意事项
查看>>
OSChina 周一乱弹 —— 只要给网,这种生活我能过一辈子
查看>>
短信猫JAVA二次开发包SMSLib,org.smslib.TimeoutException: No response from device解决方案...
查看>>
CloudStack 4.4学习总结之cloudstack-management安装
查看>>