文档章节

如何确定Python对象是否为字符串?

 技术盛宴
发布于 02/20 12:50
字数 516
阅读 96
收藏 0

3 月,跳不动了?>>>

如何检查Python对象是否为字符串(常规或Unicode)?


#1楼

Python 2

使用isinstance(obj, basestring)为对象-测试obj

文件


#2楼

要检查对象o是否是字符串类型的子类的字符串类型:

isinstance(o, basestring)

因为strunicode都是basestring子类。

要检查o的类型是否正好是str

type(o) is str

要检查是否o是的实例str或任何子类str

isinstance(o, str)

如果用unicode替换str ,上面的内容也适用于Unicode字符串。

但是,您可能根本不需要进行显式类型检查。 “鸭子打字”可能适合您的需求。 请参阅http://docs.python.org/glossary.html#term-duck-typing

另请参阅在python中检查类型的规范方法是什么?


#3楼

我可能会像其他人提到的那样以鸭子打字的方式处理这个问题。 我怎么知道字符串真的是一个字符串? 好吧,显然通过转换为字符串!

def myfunc(word):
    word = unicode(word)
    ...

如果arg已经是字符串或unicode类型,则real_word将保持其值不被修改。 如果传递的对象实现了一个__unicode__方法,那么它用于获取其unicode表示。 如果传递的对象不能用作字符串,则unicode builtin会引发异常。


#4楼

您可以通过连接空字符串来测试它:

def is_string(s):
  try:
    s += ''
  except:
    return False
  return True

编辑

在评论指出这与列表失败后纠正我的答案

def is_string(s):
  return isinstance(s, basestring)

#5楼

isinstance(your_object, basestring)

如果您的对象确实是字符串类型,则为True。 'str'是保留字。

我的道歉,正确的答案是使用'basestring'而不是'str',以便包含unicode字符串 - 正如上面其他响应者之一所述。

本文转载自:https://stackoom.com/question/5T23/如何确定Python对象是否为字符串

粉丝 0
博文 1545
码字总数 0
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

吐血总结!50道Python面试题集锦(附答案)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/sinat38682860/article/details/94763641 Python是目前编程领域最受欢...

MHyourh
2019/07/05
0
0
100 道 Python 算法题及答案集合,拿去刷! - 知乎

看书,看视频都可以帮助你学习代码,但都只是辅助作用,学好 Python,最重要的还是 多敲代码,多刷题。 不知道怎么找题刷题的小伙伴,可以看看我们今天带来的《Python 百题大冲关》。覆盖了基...

编程教室
03/11
0
0
面试时全对这25道python面试题,成就了我月薪20K!

之前面试的时候,面试官拿出一些python面试题对我说,只要全部正确直接给我20K,我一看题目笑了,居然全部都会,今天拿出来给大家分享一下~ 先给大家介绍一下python Python 是一种解释型,交...

Python小老弟
2019/03/17
0
0
Python学习系列入门篇(二)

这些天忙的不可开交,今天终于想起来继续写,工欲善其事必先利其器,得找个markdown编辑器用一下,windows找了个破解版的(主要是可以传图片),使用起来还不错,支持实时预览,就用它了,首...

疑似一僧
2014/03/17
125
0
Python Type Hint类型注解 - 知乎

在本指南中,你将了解Python类型检查。传统上,Python解释器以灵活但隐式的方式处理类型。Python的最新版本允许你指定可由不同工具使用的显式类型提示,以帮助您更有效地开发代码。 通过本教...

python学习开发
03/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在Android中的ListView中延迟加载图像 - How to lazy load of images in ListView in Android

问题: I am using a ListView to display some images and captions associated with those images. 我正在使用ListView显示一些图像和与这些图像相关的标题。 I am getting the images fr......

技术盛宴
38分钟前
7
0
华为P40发布:搭载HMS硬刚谷歌,未涨价抢全球高端机市场

  文连线 Insight,作者向阳,编辑水笙   3 月 26 日晚,华为消费者业务 CEO 余承东登上台,以熟悉的英文口音开启了华为发布会,他说,“这就是我们的 P40 系列。”   以往华为P系列通...

水果黄瓜
45分钟前
22
0
如何从Java中的字符串值获取枚举值? - How to get an enum value from a string value in Java?

问题: Say I have an enum which is just 说我有一个枚举 public enum Blah { A, B, C, D} and I would like to find the enum value of a string, for example "A" which would be B......

javail
今天
9
0
OSChina 周一乱弹 —— 小姐姐,这tm不是犬耳娘吗!你认错了吧

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Drip Drip Drip》- 音乐治疗 手机党少年们想听歌,请使劲儿戳(这里) @-Eric- ...

小小编辑
今天
40
0
HTML5 小游戏开发

HTML的基础 HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成...

冯六六
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部