How do I know the type of object?

Asked 2 years ago, Updated 2 years ago, 17 views

I want to know which variable is which type, what should I do in this case?

python type

2022-09-21 20:04

1 Answers

You can write type() and instanceof().

class Base():
    pass
a = Base()

print "type([]) is list:\t\t",type([]) is list
print "type({}) is dict:\t\t", type({}) is dict
print "type(()) is tuple:\t\t", type(()) is tuple
print "type('') is str:\t\t", type("") is str
print "type(0) is int:\t\t\t", type(0) is int
print "type(3.14) is float:\t", type(3.14) is float
print "type(a) is Base:\t\t", type(a) is Base
type([]) is list:       True
type({}) is dict:       True
type(()) is tuple:      True
type('') is str:        True
type(0) is int:         True
type(3.14) is float:    True
type(a) is Base:        False
class Base(object):
    pass
a = Base()

print "isinstance([], list):\t", isinstance([], list)
print "isinstance({}, dict):\t", isinstance({}, dict)
print "isinstance((), tuple):\t", isinstance((), tuple)
print "isinstance('', str):\t", isinstance("", str)
print "isinstance(0, int):\t\t", isinstance(0, int)
print "isinstance(3.14, float):", isinstance(3.14, float)
print "isinstance(a, Base):\t" , isinstance(a, Base)

isinstance([], list):   True
isinstance({}, dict):   True
isinstance((), tuple):  True
isinstance('', str):    True
isinstance(0, int):     True
isinstance(3.14, float): True
isinstance(a, Base):    True

type() can't find out the inheritance of the object Use isinstance() if you want to include inheritance.

class Base(object):
    pass
class Derived(Base):
    pass
b = Derived()
print "type(b) is Base:\t\t", type(b) is Base
print "isinstance(b, Base):\t", isinstance(b, Base)
type(b) is Base:        False
isinstance(b, Base):    True

Because of this difference, isinstance() is usually used rather than type().


2022-09-21 20:04

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.