相关疑难解决方法(0)

type()和isinstance()之间有什么区别?

这两个代码片段之间有什么区别?使用type():

import types

if type(a) is types.DictType:
    do_something()
if type(b) in types.StringTypes:
    do_something_else()
Run Code Online (Sandbox Code Playgroud)

使用isinstance():

if isinstance(a, dict):
    do_something()
if isinstance(b, str) or isinstance(b, unicode):
    do_something_else()
Run Code Online (Sandbox Code Playgroud)

python oop inheritance types

1163
推荐指数
6
解决办法
69万
查看次数

Python:检查对象是否是序列

在python中有一个简单的方法来判断某些东西是不是一个序列?我试着这么做: if x is not sequence但是python并不喜欢这样

python if-statement sequences sequence

58
推荐指数
6
解决办法
3万
查看次数

在标量上使用len的最pythonic方法是什么?

我读了这个问题

python:如何识别变量是数组还是标量

但是当使用下面的代码时,我会得到一个假的np.array,如下所示.

import collections

isinstance(np.arange(10), collections.Sequence)
# returns false
Run Code Online (Sandbox Code Playgroud)

我觉得有点烦人,我不能做len(1),只是得到1.

我能想到的唯一工作是try except如下声明:

a = 1
try:
    print len(a)
except TypeError:
    print 1
Run Code Online (Sandbox Code Playgroud)

是否有更多的Pythonic方法来做到这一点?

python iterable typechecking

2
推荐指数
2
解决办法
296
查看次数