Python type, types and isinstance()使用

2011-12-11  李琪 

#-*- coding:utf-8 -*-
'''
Created on 2011-12-11
作者: 李昱彤
Email: liqi1031@gmail.com
'''
def foo(data):
    if type(data) == type(0):
        print "你输入了一个整数"
    elif type(data) == type(''):
        print "你输入了一个字符串"
    else:
        print "只能输入整数或字符串"
   
import types
def updateFoo(data):
    if type(data) == types.IntType:
        print "你输入了一个整数"
    elif type(data) == types.StringType:
        print "你输入了一个字符串"
    else:
        print "只能输入整数或字符串"
def update2Foo(data):
    if type(data) is types.IntType:
        print "你输入了一个整数"
    elif type(data) is types.StringType:
        print "你输入了一个字符串"
    else:
        print "只能输入整数或字符串"
def update3Foo(data):
    if isinstance(data, (int)):
        print "你输入了一个整数"
    elif isinstance(data, (str)):
        print "你输入了一个字符串"
    else:
        print "只能输入整数或字符串"
       
def update4Foo(data):
    if isinstance(data, (int)):
        print "你输入了一个整数"
    elif isinstance(data, (str)):
        print "你输入了一个字符串"
    else:
        print "只能输入整数或字符串"
       
update4Foo(1)
update4Foo("liyutong")
update4Foo([1,2])
 
运行结果:
你输入了一个整数
你输入了一个字符串
只能输入整数或字符串
 
结论:建议使用isinstance() 去做相同的事情.
469°/4692 人阅读/0 条评论 发表评论

登录 后发表评论