Python类型迷惑:None与数字比较;格式化字符串与unicode
2013-12-16 10:47
435 查看
近期发现两个Python类型十分令人迷惑的问题,也是很容易出现BUG的地方。
1、
None>0
None<0
None==0
这三个bool变量值分别为False, True, False,而不引起异常。
2、
s = '%s %s %s' % (1, 2, '我是谁')
s的类型是<type 'str'>
稍微改一下——
us = u'我是谁'
s = '%s %s %s' % (1, 2, us )
s的类型变成了<type 'unicode'>
十分让人费解,为什么两种同样的写法结果连类型都不一样!
这两个问题目前是我对Python语法最不满意的地方,不满意的程度超过了定义函数时,使用可变类型作为默认参数引发的问题。
1、
None>0
None<0
None==0
这三个bool变量值分别为False, True, False,而不引起异常。
2、
s = '%s %s %s' % (1, 2, '我是谁')
s的类型是<type 'str'>
稍微改一下——
us = u'我是谁'
s = '%s %s %s' % (1, 2, us )
s的类型变成了<type 'unicode'>
十分让人费解,为什么两种同样的写法结果连类型都不一样!
这两个问题目前是我对Python语法最不满意的地方,不满意的程度超过了定义函数时,使用可变类型作为默认参数引发的问题。
相关文章推荐
- python的数据类型,数字,布尔,字符串
- Python【基础:数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set】注意事项(与java,c比较)
- Python 字符串格式化 数字游戏
- Python入门(五)Python数字、字符串、Unicode字符串
- Python基础(2)_数字和字符串类型
- Python 中的基本数据类型 ---Number(数字) 和 String(字符串)
- python基本数据类型(三)-字符串拼接-格式化输出-深浅复制-python3笔记
- python中数字类型和字符串类型
- python字符串和变量相加时出现,coercing to unicode need string or buffer nonetype found python 错误的解决
- Python-003-数据类型1--数字、字符串、布尔值
- python实操(5):python数据类型及常用操作,数字、字符串、元组、列表、字典、集合
- Python基础4:数据类型:数字 字符串 日期
- 3.Python数据类型(1)——数字类型/字符串类型
- python---数据结构与数据类型,list,dict,tuple,排序sort,比较cmp,字符串模版
- python字符串与数字类型转化
- python字符串操作(连接、比较、格式化等)
- python之一五大基本类型(数字、字符串、列表、元组、字典)
- python 数字类型和字符串类型的相互转换实例
- python字符串与数字类型转化
- python字符串操作(连接、比较、格式化等)