问题:
需要判断一个对象,或者方法的一个参数,看它们是否是字符串.
解决方法:
判断一个对象是否是字符串或者unicode串的最简单有效的办法是使用isinstance和basestring
def isAString(anobj):
return isinstance(anobj, basestring)
一般的说,判断一个对象是否是字符串,最容易想到的方法是:
def isString(str):
return type(str) is type('')
这样有一些缺点:无法判断unicode字符串,或者用户从basestring继承下来的字符串类型.
当然,上面的算法在有些情况下也会失效:如Python类库中的UserString
那样,可以使用下面的算法:
def isStringLike(str):
try: str + ''
except: return False
else: return True
这样的算法会降低方法的效率,但能适应更多的情况.
相关说明:
class basestring(object)
| Type basestring cannot be instantiated; it is the base for str and unicode.
|
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object at 0x8147420>
| T.__new__(S, ...) -> a new object with type S, a subtype of T
isinstance(...)
isinstance(object, class-or-type-or-tuple) -> bool
Return whether an object is an instance of a class or of a subclass thereof.
With a type as second argument, return whether that is the object's type.
The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for
isinstance(x, A) or isinstance(x, B) or ... (etc.).
class type(object)
| type(object) -> the object's type
| type(name, bases, dict) -> a new type
分享到:
相关推荐
12. **3.12 测试字符串是否表示整数**:提供了测试字符串是否可以被解析为整数的方法。 13. **3.13 扩展和压缩制表符**:解释了如何处理字符串中的制表符。 14. **3.14 替换多个模式**:使用正则表达式一次性替换...
- **1.3 判断对象是否像字符串**:提供了一种方法来判断一个对象是否可以像字符串那样进行操作。 - **1.4 对齐字符串**:演示了如何对齐字符串,使其看起来更加整洁美观。 - **1.5 去除字符串两端的空白**:教授...
2.14 合并拼接字符串:使用各种方法将多个字符串合并为一个。 2.15 字符串中插入变量:在字符串中插入变量或表达式。 2.16 以指定列宽格式化字符串:使用str.format()方法或旧式的%格式化进行格式化输出。 2.17 在...
2.2 字符串开头或结尾匹配:说明了如何检查字符串是否以某个特定的子串开头或结尾。 2.3 用Shell通配符匹配字符串:讲解了如何使用Shell通配符规则进行字符串匹配。 2.4 字符串匹配和搜索:提供了基础的字符串搜索...
Python Cookbook 第三版中文v3.0.0是 Python 编程的实践指南,提供了丰富的实践经验和编程技巧,涵盖了数据结构、字符串和文本、文件和目录、持久化数据、网络编程、进程和线程、Testing 和 Debugging 等多个方面。...
- **知识点**: 演示了如何检查一个字符串是否包含另一个字符串或一组字符。 - **应用场景**: 在验证用户输入或过滤文本时非常有用。 - **Recipe 1.9 Simplifying Usage of Strings' translate Method**(简化字符...
1.2 从任意长度的可迭代对象中解包元素,展示了Python的强大解包能力,允许从一个可迭代对象中提取任意数量的元素。 1.3 保存最后N项的功能,对于需要追踪最近事件或数据的场景非常有用。 1.4 找出最大或最小N项的...
为了判断一个对象是否为字符串,可以使用`isinstance`函数: ```python if isinstance(obj, str): # it's a string ``` 这种方式简单直观。 **3.3 Aligning Strings(对齐字符串)** 为了实现文本的左对齐、右...
- **知识点**:介绍了如何判断字符串是否以特定字符开头或结尾,这对于文本处理非常有用。 - **2.3 用Shell通配符匹配字符串** - **知识点**:讨论了如何使用类似于Shell中的通配符来匹配字符串,这对于文件名或...
第一章:数据结构和算法 13 ...2.20 字节字符串上的字符串操作 . . . . . . . . . . . . . . . . . . . . . . . . . 85 第三章:数字日期和时间 88 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- **字符集**:使用方括号`[]`来指定一组字符中的任意一个,如`[abc]`匹配"a"、"b"或"c"。 - **范围**:也可以使用范围指定,如`[a-z]`匹配任何小写字母。 - **排除**:通过添加"!"字符在方括号内,如`[^abc]`匹配...