Home >Backend Development >Python Tutorial >Does Python determine the type of a variable?
Python’s data types include: numbers (int), floating point (float), strings (str), lists (list), tuples (tuple), and dictionaries (dict) , Set (set)
is generally judged through the following methods:
1. isinstance(parameter 1, parameter 2)
Description: This function is used to judge a variable ( Parameter 1) Whether it is a known variable type (Parameter 2) similar to type()
Parameter 1: Variable
Parameter 2: It can be a direct or indirect class name, basic type or by The tuple they consist of.
Return value: If the type of the object is the same as the type of parameter two (classinfo), it returns True, otherwise it returns False
Example:
#判断变量类型的函数 def typeof(variate): type=None if isinstance(variate,int): type = "int" elif isinstance(variate,str): type = "str" elif isinstance(variate,float): type = "float" elif isinstance(variate,list): type = "list" elif isinstance(variate,tuple): type = "tuple" elif isinstance(variate,dict): type = "dict" elif isinstance(variate,set): type = "set" return type # 返回变量类型 def getType(variate): arr = {"int":"整数","float":"浮点","str":"字符串","list":"列表","tuple":"元组","dict":"字典","set":"集合"} vartype = typeof(variate) if not (vartype in arr): return "未知类型" return arr[vartype] #判断变量是否为整数 money=120 print("{0}是{1}".format(money,getType(money))) #判断变量是否为字符串 money="120" print("{0}是{1}".format(money,getType(money))) money=12.3 print("{0}是{1}".format(money,getType(money))) #判断变量是否为列表 students=['studentA'] print("{0}是{1}".format(students,getType(students))) #判断变量是否为元组 students=('studentA','studentB') print("{0}是{1}".format(students,getType(students))) #判断变量是否为字典 dictory={"key1":"value1","key2":"value2"} print("{0}是{1}".format(dictory,getType(dictory))) #判断变量是否为集合 apple={"apple1","apple2"} print("{0}是{1}".format(apple,getType(apple)))
Return:
2. By comparing with constants of known types
Example:
#判断变量类型的函数 def typeof(variate): type1 = "" if type(variate) == type(1): type1 = "int" elif type(variate) == type("str"): type1 = "str" elif type(variate) == type(12.3): type1 = "float" elif type(variate) == type([1]): type1 = "list" elif type(variate) == type(()): type1 = "tuple" elif type(variate) == type({"key1":"123"}): type1 = "dict" elif type(variate) == type({"key1"}): type1 = "set" return type1 # 返回变量类型 def getType(variate): arr = {"int":"整数","float":"浮点","str":"字符串","list":"列表","tuple":"元组","dict":"字典","set":"集合"} vartype = typeof(variate) if not (vartype in arr): return "未知类型" return arr[vartype] #判断变量是否为整数 money=120 print("{0}是{1}".format(money,getType(money))) #判断变量是否为字符串 money="120" print("{0}是{1}".format(money,getType(money))) money=12.3 print("{0}是{1}".format(money,getType(money))) #判断变量是否为列表 students=['studentA'] print("{0}是{1}".format(students,getType(students))) #判断变量是否为元组 students=('studentA','studentB') print("{0}是{1}".format(students,getType(students))) #判断变量是否为字典 dictory={"key1":"value1","key2":"value2"} print("{0}是{1}".format(dictory,getType(dictory))) #判断变量是否为集合 apple={"apple1","apple2"} print("{0}是{1}".format(apple,getType(apple)))
Return:
Supplement:
The difference between isinstance() and type():
type() does not consider the subclass to be a parent class type and does not consider the inheritance relationship.
isinstance() will consider the subclass to be a parent class type and consider the inheritance relationship.
If you want to determine whether two types are the same, it is recommended to use isinstance().
Related tutorial recommendations: Python video tutorial
The above is the detailed content of Does Python determine the type of a variable?. For more information, please follow other related articles on the PHP Chinese website!