Python有一个名为type()的内置函数,可输出变量的类型。 例如,如果变量是字符串,则将输出为<class’str’>,对于列表,输出将为<class’list’>,依此类推。
参数:type(object)
参数:type(name, bases, dict)
返回值:
如果对象是传递给type()的唯一参数,则它将返回您的对象类型。
如果传递给type的参数是type(name, bases, dict),在这种情况下,它将返回一种新的对象类型。
在这个例子中,我们有一个字符串值,number,float值,一个复数,list,tuple,dict和set。 我们将使用类型为变量的变量来查看每个变量的输出。
str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}
print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))
输出
The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>
当您使用type()检查从类创建的对象时,它将返回类的类型以及类的名称。 在此示例中,我们将创建一个类并检查从类test创建的对象类型。
class test:
s = 'testing'
t = test()
print(type(t))
Output:
<class '__main__.test'>
也可以使用以下语法来调用:type(name,bases,dict)。
传递给type()的三个参数,即name,bases和dict是构成类定义的组件。 name表示类名称,bases是基类,而dict是基类属性的字典。
将返回一种新的对象类型
class MyClass:
x = 'Hello World'
y = 50
t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))
Output:
<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}
Python isinstance是python内置函数的一部分。 Python isinstance()有两个参数,如果第一个参数是第二个参数的实例,则它返回true。
isinstance(object, classtype)
参量
返回值:
如果对象是classtype的实例,它将返回true,否则返回false。
示例:isinstance()整数检查
age = isinstance(51,int)
print("age is an integer:", age)
输出
age is an integer: True
示例:isinstance()浮点检查
pi = isinstance(3.14,float)
print("pi is a float:", pi)
Output:
pi is a float: True
示例:isinstance()字符串检查
message = isinstance("Hello World",str)
print("message is a string:", message)
Output:
message is a string: True
示例:isinstance()元组检查
该代码检查类型为(1,2,3,4,5), 是否是元组类型,是则返回true;否则返回false。
my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)
输出
my_tuple is a tuple: True
示例:isinstance()集合(set)检查
代码检查是否有类型为set的集合{1,2,3,4,5}。如果给定的输入为set类型,则返回true,否则返回false。
my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)
输出
my_set is a set: True
示例:isinstance()列表检查
该代码检查列表类型为[1,2,3,4,5]的列表。 如果给定的输入为list类型,则返回true;否则返回false。
my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)
Output:
my_list is a list: True
示例:isinstance()字典检查
该代码检查字典{“ A”:“ a”,“ B”:“ b”,“ C”:“ c”,“ D”:“ d”},如果 给定的输入为dict类型,否则为false。
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)
Output:
my_dict is a dict: True
示例:对一个类的isinstance()测试
该代码使用isinstance()显示类的类型检查。 将类的对象与isinstance()中的类名称进行比较。 如果对象属于该类,则返回true,否则返回false。
class MyClass:
_message = "Hello World"
_class = MyClass()
print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))
Output:
_class is a instance of MyClass() True