Python中声明只包含一个元素的元组数据方法
更新时间:2014年08月25日 08:50:33 投稿:junjie
这篇文章主要介绍了Python中声明只包含一个元素的元组数据方法,本文是实际经验总结而来,没有碰到这个需要可能不会注意到这个问题,需要的朋友可以参考下
调试程序的时候,就吃过这个亏,不知道为何Python使用括号做元组声明边界符,估计是找不到合适的符号了。中括号用来声明列表,花括号用来声明字典,元组号只能用括号来声明了。有其他语言编程经历的朋友都清楚括号在其它语言里都是表示优先级,而Python也可以用来表示优先级,所以也就引发了以下白痴的问题。
复制代码 代码如下:
# encoding=UTF-8
obj = ('tuple')
print obj
print type(obj)
print len(obj)
执行结果
复制代码 代码如下:
tuple
<type 'str'>
5
我本来是想声明只有一个元素的元组,而Python估计以为你只是声明一个字符串所以结果以obj变量就变成元组了。这个错误非常隐形,不好调试。
解决方法:末尾加一个逗号
复制代码 代码如下:
# encoding=UTF-8
obj = ('tuple',)
print obj
print type(obj)
print len(obj)
执行结果
复制代码 代码如下:
('tuple',)
<type 'tuple'>
1
使用tuple关键字:将会得到意外的结果
复制代码 代码如下:
# encoding=UTF-8
obj = tuple('tuple')
print obj
print type(obj)
print len(obj)
执行结果
复制代码 代码如下:
('t', 'u', 'p', 'l', 'e')
<type 'tuple'>
5
相关文章
一次搞懂hasattr()/getattr()/setattr()在Python中的应用
在Python中,hasattr()、getattr()和setattr()是一组内置函数,本文将从入门到精通,全面介绍hasattr()、getattr()和setattr()函数的用法和相关知识点,需要的可以了解下2023-08-08
python使用pywinauto驱动微信客户端实现公众号爬虫
这个项目是通过pywinauto控制windows(win10)上的微信PC客户端来实现公众号文章的抓取。代码分成server和client两部分。server接收client抓取的微信公众号文章,并且保存到数据库。另外server支持简单的搜索和导出功能。client通过pywinauto实现微信公众号文章的抓取。2021-05-05
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
这篇文章主要介绍了Python简单获取网卡名称及其IP地址的方法,结合实例形式分析了Python基于psutil模块针对本机网卡硬件信息的读取操作简单使用技巧,需要的朋友可以参考下2018-05-05
Python EOL while scanning string literal问题解决方法
这篇文章主要介绍了Python EOL while scanning string literal问题解决方法,本文总结出是数据库数据出现问题导致这个问题,需要的朋友可以参考下2015-04-04
使用Python的Flask框架构建大型Web应用程序的结构示例
虽说Flask是一个以轻量级著称的框架,但也为大型Web应用提供了诸如单元测试与数据库迁移等许多便利的功能,这里我们来看一下使用Python的Flask框架构建大型Web应用程序的结构示例:2016-06-06


最新评论