我怎样才能判断一个Python变量是一个字符串或列表

 我来答
路过的agate
2018-03-30 · TA获得超过1.6万个赞
知道小有建树答主
回答量:97
采纳率:100%
帮助的人:18.7万
展开全部

python官方文档在说明type函数的用法时,明文推荐用isinstance测试对象类型。

isinstance似乎不是这么用的。 我通常的做法是用type

x=int(5)
if type(x)==int: print " x is interger. "
else: print "false."

isinstance可以用来判断一个变量是否属于一个类。 在python里应该是正确的。

if type(x)==list:pass

if type(x)==dict:pass

tim_spac
推荐于2018-02-27 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2023万
展开全部
Python 2.7.3 (default, Mar 14 2014, 11:57:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> astr = "abcdefg"
>>> alst = list(astr)
>>> astr
'abcdefg'
>>> alst
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> isinstance(alst, list)
True
>>> isinstance(astr, list)
False
>>> isinstance(alst, str)
False
>>> isinstance(astr, str)
True
>>>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日TimE寸
2015-02-03 · TA获得超过9568个赞
知道大有可为答主
回答量:1358
采纳率:83%
帮助的人:482万
展开全部

type(变量)

会返回变量的类型

在程序里你可以这样来判断

if type(a) == type([]):
    ####
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kwydwuf
2015-02-03 · TA获得超过7411个赞
知道大有可为答主
回答量:1527
采纳率:71%
帮助的人:2017万
展开全部
import types

if type(a) == types.StringType:
  # string
elif type(a) == types.ListType:
  # list
...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-10-08
展开全部
def test(var):
    try:
        var+"1"
        print("{} is string".format(var))
    except TypeError:
        print("{} is not string".format(var))
        # do something as list
        for x in var:
            print(x)

看能否跟字符串相连,用 try 处理,非常简洁。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式