Without using regular expressions, if you just want to extract the word "int" or "float" you can substring the results by converting what type says to a string:
>>> a = 5 >>> str(type(a))[8:11] 'int' >>> a=5.0 >>> str(type(a))[8:13] 'float' Since the format and length vary, this may not meet your needs. You could search for the first index where there is a single quote and then the next and take what is in between. You can run this in-line or make a function that might work for at least the basic types: >>> a = 5 >>> text = str(type(a)) >>> first = text.find("'") >>> first += 1 >>> second = text.find("'", first) >>> first, second (8, 11) >>> text[first : second] 'int' >>> print(text[first : second]) Int If I do the same with a float like 5.0: >>> a=5.0 >>> text = str(type(a)) >>> first = text.find("'") >>> first += 1 >>> second = text.find("'", first) >>> print(text[first : second]) float For a list: >>> a = ["list", "of", "anything"] ... >>> print(text[first : second]) list Of course this is so simple it must be out there in some module. -----Original Message----- From: Python-list <python-list-bounces+avigross=verizon....@python.org> On Behalf Of ^Bart Sent: Sunday, February 10, 2019 4:43 PM To: python-list@python.org Subject: The use of type() I need to print something like "this variable is int" or "this variable is string" n1 = 10 n2 = 23 print ("Total of n1+n2 is: ",n1+n2," the type is", type(n1+n2)) When I run it I have: Total of n1+n2 is: 33 the type is <class 'int'> >>> I'd like to read "the type is int" and NOT "the type is <class 'int'>, how could I solve it? ^Bart -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list