- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
a='aaaa'
print isinstance(a, basestring)#true
print isinstance(a, str)#true
最佳答案
在 3.0 之前的 Python 版本中,有两种字符串“纯字符串”和“Unicode 字符串”。纯字符串 (str
) 不能表示拉丁字母表之外的字符(为简单起见,忽略代码页的细节)。 Unicode 字符串 (unicode
) 可以表示任何字母表中的字符,包括一些虚构的字符,如克林贡语。
那么为什么有两种字符串呢,难道只有 Unicode 会更好,因为它可以涵盖所有情况吗?好吧,最好只有 Unicode,但 Python 是在 Unicode 成为表示字符串的首选方法之前创建的。在有很多用户的语言中转换字符串类型需要时间,在 Python 3.0 中,最终所有字符串都是 Unicode。
3.0之前的Python字符串的继承层次是:
object
|
|
basestring
/ \
/ \
str unicode
在 Python 2.3 中引入的
'basestring' 可以被认为是朝着字符串统一方向迈出的一步,因为它可以用来检查对象是 str
还是 unicode 的实例
>>> string1 = "I am a plain string"
>>> string2 = u"I am a unicode string"
>>> isinstance(string1, str)
True
>>> isinstance(string2, str)
False
>>> isinstance(string1, unicode)
False
>>> isinstance(string2, unicode)
True
>>> isinstance(string1, basestring)
True
>>> isinstance(string2, basestring)
True
关于python - isinstance ('aaa' , basestring) 和 isinstance ('aaa' , str) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979004/
为什么 numpy 数字类型是 basestring 的子类型? for nptype in [np.int32, np.int64, np.integer, np.float]: for s
我正在使用 Troposphere 创建 CloudFormation 模板。 如果我使用变量或字符串,我会收到错误 - , expected 我是对流层和 python 的新手,因此非常感谢您的帮
几周前,我在一台 Linux Mint(一个 Ubuntu 衍生产品)机器上安装了 Selenium 并用它开发了一些 Puthon 抓取脚本。一切正常。 现在,我试图在另一台机器上复制安装,也在 L
我正在尝试执行 ansible2 commnads... 当我这样做时: ansible-playbook -vvv -i my/inventory my/playbook.yml 我明白了: Une
我正在尝试在我的 Django 中使用 Mongodb。 下面是settings.py中的连接设置 DEBUG = True TEMPLATE_DEBUG = DEBUG ADMINS = (
有什么区别: isinstance(foo, types.StringType) 和 isinstance(foo, basestring) ? 最佳答案 对于 Python2:basestring
a='aaaa' print isinstance(a, basestring)#true print isinstance(a, str)#true 最佳答案 在 3.0 之前的 Python 版本
我在本地目录中的 test.py 旁边有一个名为 hello.txt 的文件,其中包含以下 Python 3.4 代码: import easywebdav webdav = easywebdav.c
我是一名优秀的程序员,十分优秀!