您的位置:首页 > 编程语言 > Python开发

python中str和basestring

2015-09-11 15:06 519 查看
for s in [u'asd', 'asd']:

print isinstance(s, str) # 用来判断是否为一般字符串

print isinstance(s, basestring)

print isinstance(s, unicode) # 用来判断是否为unicode

结果:

False

True

True

True

True

False

总结:

basestring是str和unicode的超类。

查看内建函数:

class basestring(object)

class str(basestring)

class unicode(basestring)

所以str和unicode是不同的,判断时需要注意字符串类型。

查看资料:

http://appofis.iteye.com/blog/443206

python的str,unicode对象的encode和decode方法

python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]。

而python中的unicode对象应该才是等同于java中的String对象,或本质上是java的char[]。

http://www.cnblogs.com/dkblog/archive/2011/03/02/1980644.html

isinstance(s, str) 用来判断是否为一般字符串

isinstance(s, unicode) 用来判断是否为unicode

http://www.cnblogs.com/oneday/archive/2012/08/16/2643039.html

说明:basestring是str和unicode的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为str或者unicode的实例,isinstance(obj, basestring)等价于isinstance(obj, (str, unicode));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: