[{"data":1,"prerenderedAt":2023},["ShallowReactive",2],{"doc-\u002Freference\u002Fpython-isinstance-function-explained":3},{"id":4,"title":5,"body":6,"description":2016,"extension":2017,"meta":2018,"navigation":82,"path":2019,"seo":2020,"stem":2021,"__hash__":2022},"content\u002Freference\u002Fpython-isinstance-function-explained.md","Python isinstance() Function Explained",{"type":7,"value":8,"toc":1972},"minimark",[9,19,25,36,46,51,141,148,155,160,163,200,203,206,217,230,234,237,259,264,293,296,343,346,356,360,363,367,421,423,437,441,501,503,515,521,528,532,535,538,608,610,622,629,632,689,692,733,736,744,756,762,765,798,804,807,838,844,847,860,864,869,873,1051,1053,1068,1071,1075,1185,1187,1206,1210,1274,1276,1285,1288,1292,1366,1368,1377,1384,1388,1398,1401,1436,1441,1444,1474,1478,1480,1519,1522,1524,1561,1568,1571,1623,1625,1633,1643,1650,1654,1659,1709,1711,1725,1728,1732,1735,1811,1814,1833,1836,1866,1876,1880,1887,1895,1902,1908,1917,1925,1932,1935,1939,1968],[10,11,13,14,18],"h1",{"id":12},"python-isinstance-function-explained","Python ",[15,16,17],"code",{},"isinstance()"," Function Explained",[20,21,22,24],"p",{},[15,23,17],{}," checks whether a value matches a type.",[20,26,27,28,31,32,35],{},"It is a built-in Python function that returns either ",[15,29,30],{},"True"," or ",[15,33,34],{},"False",". It is often used before running code that depends on a value being a string, number, list, tuple, or dictionary.",[20,37,38,39,41,42,45],{},"In many cases, ",[15,40,17],{}," is a better choice than checking ",[15,43,44],{},"type()"," directly because it also works with parent and child types.",[47,48,50],"h2",{"id":49},"quick-answer","Quick answer",[52,53,58],"pre",{"className":54,"code":55,"language":56,"meta":57,"style":57},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","value = 10\n\nprint(isinstance(value, int))   # True\nprint(isinstance(value, str))   # False\n","python","",[15,59,60,77,84,118],{"__ignoreMap":57},[61,62,65,69,73],"span",{"class":63,"line":64},"line",1,[61,66,68],{"class":67},"su5hD","value ",[61,70,72],{"class":71},"smGrS","=",[61,74,76],{"class":75},"srdBf"," 10\n",[61,78,80],{"class":63,"line":79},2,[61,81,83],{"emptyLinePlaceholder":82},true,"\n",[61,85,87,91,95,98,100,104,107,111,114],{"class":63,"line":86},3,[61,88,90],{"class":89},"sptTA","print",[61,92,94],{"class":93},"sP7_E","(",[61,96,97],{"class":89},"isinstance",[61,99,94],{"class":93},[61,101,103],{"class":102},"slqww","value",[61,105,106],{"class":93},",",[61,108,110],{"class":109},"sZMiF"," int",[61,112,113],{"class":93},"))",[61,115,117],{"class":116},"sutJx","   # True\n",[61,119,121,123,125,127,129,131,133,136,138],{"class":63,"line":120},4,[61,122,90],{"class":89},[61,124,94],{"class":93},[61,126,97],{"class":89},[61,128,94],{"class":93},[61,130,103],{"class":102},[61,132,106],{"class":93},[61,134,135],{"class":109}," str",[61,137,113],{"class":93},[61,139,140],{"class":116},"   # False\n",[20,142,143,144,147],{},"Use ",[15,145,146],{},"isinstance(object, classinfo)"," to check whether a value matches a type or one of its parent types.",[47,149,151,152,154],{"id":150},"what-isinstance-does","What ",[15,153,17],{}," does",[20,156,157,159],{},[15,158,17],{}," is used to test a value against a type.",[20,161,162],{},"It:",[164,165,166,170,177,180],"ul",{},[167,168,169],"li",{},"Checks whether a value is an instance of a type",[167,171,172,173,31,175],{},"Returns ",[15,174,30],{},[15,176,34],{},[167,178,179],{},"Helps you safely run type-specific code",[167,181,182,183,186,187,186,190,186,193,196,197],{},"Is commonly used with ",[15,184,185],{},"str",", ",[15,188,189],{},"int",[15,191,192],{},"list",[15,194,195],{},"tuple",", and ",[15,198,199],{},"dict",[20,201,202],{},"This is useful when your code needs to behave differently for different kinds of data.",[20,204,205],{},"For example, you might want to:",[164,207,208,211,214],{},[167,209,210],{},"loop through a list",[167,212,213],{},"join text only if a value is a string",[167,215,216],{},"do math only if a value is a number",[20,218,219,220,31,225,229],{},"If you need a refresher on Python types, see ",[221,222,224],"a",{"href":223},"\u002Flearn\u002Fpython-data-types-overview\u002F","Python data types overview",[221,226,228],{"href":227},"\u002Fglossary\u002Fwhat-is-a-data-type-in-python\u002F","what a data type means in Python",".",[47,231,233],{"id":232},"basic-syntax","Basic syntax",[20,235,236],{},"The syntax is:",[52,238,240],{"className":54,"code":239,"language":56,"meta":57,"style":57},"isinstance(object, classinfo)\n",[15,241,242],{"__ignoreMap":57},[61,243,244,246,248,251,253,256],{"class":63,"line":64},[61,245,97],{"class":89},[61,247,94],{"class":93},[61,249,250],{"class":109},"object",[61,252,106],{"class":93},[61,254,255],{"class":102}," classinfo",[61,257,258],{"class":93},")\n",[260,261,263],"h3",{"id":262},"parts-of-the-syntax","Parts of the syntax",[164,265,266,271,286],{},[167,267,268,270],{},[15,269,250],{}," is the value you want to test",[167,272,273,276,277,186,279,186,281,283,284],{},[15,274,275],{},"classinfo"," is the type to check against, such as ",[15,278,189],{},[15,280,185],{},[15,282,192],{},", or ",[15,285,199],{},[167,287,288,289,31,291],{},"The result is always a Boolean value: ",[15,290,30],{},[15,292,34],{},[20,294,295],{},"Example:",[52,297,299],{"className":54,"code":298,"language":56,"meta":57,"style":57},"name = \"Maya\"\n\nprint(isinstance(name, str))\n",[15,300,301,319,323],{"__ignoreMap":57},[61,302,303,306,308,312,316],{"class":63,"line":64},[61,304,305],{"class":67},"name ",[61,307,72],{"class":71},[61,309,311],{"class":310},"sjJ54"," \"",[61,313,315],{"class":314},"s_sjI","Maya",[61,317,318],{"class":310},"\"\n",[61,320,321],{"class":63,"line":79},[61,322,83],{"emptyLinePlaceholder":82},[61,324,325,327,329,331,333,336,338,340],{"class":63,"line":86},[61,326,90],{"class":89},[61,328,94],{"class":93},[61,330,97],{"class":89},[61,332,94],{"class":93},[61,334,335],{"class":102},"name",[61,337,106],{"class":93},[61,339,135],{"class":109},[61,341,342],{"class":93},"))\n",[20,344,345],{},"Output:",[52,347,349],{"className":54,"code":348,"language":56,"meta":57,"style":57},"True\n",[15,350,351],{"__ignoreMap":57},[61,352,353],{"class":63,"line":64},[61,354,348],{"class":355},"s39Yj",[47,357,359],{"id":358},"simple-example","Simple example",[20,361,362],{},"Here is a small example that checks one value at a time.",[260,364,366],{"id":365},"check-an-integer","Check an integer",[52,368,370],{"className":54,"code":369,"language":56,"meta":57,"style":57},"value = 25\n\nprint(isinstance(value, int))\nprint(isinstance(value, str))\n",[15,371,372,381,385,403],{"__ignoreMap":57},[61,373,374,376,378],{"class":63,"line":64},[61,375,68],{"class":67},[61,377,72],{"class":71},[61,379,380],{"class":75}," 25\n",[61,382,383],{"class":63,"line":79},[61,384,83],{"emptyLinePlaceholder":82},[61,386,387,389,391,393,395,397,399,401],{"class":63,"line":86},[61,388,90],{"class":89},[61,390,94],{"class":93},[61,392,97],{"class":89},[61,394,94],{"class":93},[61,396,103],{"class":102},[61,398,106],{"class":93},[61,400,110],{"class":109},[61,402,342],{"class":93},[61,404,405,407,409,411,413,415,417,419],{"class":63,"line":120},[61,406,90],{"class":89},[61,408,94],{"class":93},[61,410,97],{"class":89},[61,412,94],{"class":93},[61,414,103],{"class":102},[61,416,106],{"class":93},[61,418,135],{"class":109},[61,420,342],{"class":93},[20,422,345],{},[52,424,426],{"className":54,"code":425,"language":56,"meta":57,"style":57},"True\nFalse\n",[15,427,428,432],{"__ignoreMap":57},[61,429,430],{"class":63,"line":64},[61,431,348],{"class":355},[61,433,434],{"class":63,"line":79},[61,435,436],{"class":355},"False\n",[260,438,440],{"id":439},"check-text","Check text",[52,442,444],{"className":54,"code":443,"language":56,"meta":57,"style":57},"text = \"hello\"\n\nprint(isinstance(text, str))\nprint(isinstance(text, int))\n",[15,445,446,460,464,483],{"__ignoreMap":57},[61,447,448,451,453,455,458],{"class":63,"line":64},[61,449,450],{"class":67},"text ",[61,452,72],{"class":71},[61,454,311],{"class":310},[61,456,457],{"class":314},"hello",[61,459,318],{"class":310},[61,461,462],{"class":63,"line":79},[61,463,83],{"emptyLinePlaceholder":82},[61,465,466,468,470,472,474,477,479,481],{"class":63,"line":86},[61,467,90],{"class":89},[61,469,94],{"class":93},[61,471,97],{"class":89},[61,473,94],{"class":93},[61,475,476],{"class":102},"text",[61,478,106],{"class":93},[61,480,135],{"class":109},[61,482,342],{"class":93},[61,484,485,487,489,491,493,495,497,499],{"class":63,"line":120},[61,486,90],{"class":89},[61,488,94],{"class":93},[61,490,97],{"class":89},[61,492,94],{"class":93},[61,494,476],{"class":102},[61,496,106],{"class":93},[61,498,110],{"class":109},[61,500,342],{"class":93},[20,502,345],{},[52,504,505],{"className":54,"code":425,"language":56,"meta":57,"style":57},[15,506,507,511],{"__ignoreMap":57},[61,508,509],{"class":63,"line":64},[61,510,348],{"class":355},[61,512,513],{"class":63,"line":79},[61,514,436],{"class":355},[20,516,517,518,520],{},"In both examples, ",[15,519,17],{}," only checks the type. It does not change the value.",[20,522,523,524,229],{},"If you want to change a value from one type to another, that is conversion, not type checking. For example, see ",[221,525,527],{"href":526},"\u002Fhow-to\u002Fhow-to-convert-string-to-int-in-python\u002F","how to convert a string to an integer in Python",[47,529,531],{"id":530},"checking-against-multiple-types","Checking against multiple types",[20,533,534],{},"The second argument can be a tuple of types.",[20,536,537],{},"This is helpful when more than one type is acceptable.",[52,539,541],{"className":54,"code":540,"language":56,"meta":57,"style":57},"value = 3.5\n\nprint(isinstance(value, (int, float)))\nprint(isinstance(value, (str, list)))\n",[15,542,543,552,556,583],{"__ignoreMap":57},[61,544,545,547,549],{"class":63,"line":64},[61,546,68],{"class":67},[61,548,72],{"class":71},[61,550,551],{"class":75}," 3.5\n",[61,553,554],{"class":63,"line":79},[61,555,83],{"emptyLinePlaceholder":82},[61,557,558,560,562,564,566,568,570,573,575,577,580],{"class":63,"line":86},[61,559,90],{"class":89},[61,561,94],{"class":93},[61,563,97],{"class":89},[61,565,94],{"class":93},[61,567,103],{"class":102},[61,569,106],{"class":93},[61,571,572],{"class":93}," (",[61,574,189],{"class":109},[61,576,106],{"class":93},[61,578,579],{"class":109}," float",[61,581,582],{"class":93},")))\n",[61,584,585,587,589,591,593,595,597,599,601,603,606],{"class":63,"line":120},[61,586,90],{"class":89},[61,588,94],{"class":93},[61,590,97],{"class":89},[61,592,94],{"class":93},[61,594,103],{"class":102},[61,596,106],{"class":93},[61,598,572],{"class":93},[61,600,185],{"class":109},[61,602,106],{"class":93},[61,604,605],{"class":109}," list",[61,607,582],{"class":93},[20,609,345],{},[52,611,612],{"className":54,"code":425,"language":56,"meta":57,"style":57},[15,613,614,618],{"__ignoreMap":57},[61,615,616],{"class":63,"line":64},[61,617,348],{"class":355},[61,619,620],{"class":63,"line":79},[61,621,436],{"class":355},[20,623,624,625,628],{},"This is much cleaner than writing long ",[15,626,627],{},"or"," conditions.",[20,630,631],{},"Instead of this:",[52,633,635],{"className":54,"code":634,"language":56,"meta":57,"style":57},"value = 3.5\n\nprint(type(value) == int or type(value) == float)\n",[15,636,637,645,649],{"__ignoreMap":57},[61,638,639,641,643],{"class":63,"line":64},[61,640,68],{"class":67},[61,642,72],{"class":71},[61,644,551],{"class":75},[61,646,647],{"class":63,"line":79},[61,648,83],{"emptyLinePlaceholder":82},[61,650,651,653,655,658,660,662,665,668,670,674,677,679,681,683,685,687],{"class":63,"line":86},[61,652,90],{"class":89},[61,654,94],{"class":93},[61,656,657],{"class":109},"type",[61,659,94],{"class":93},[61,661,103],{"class":102},[61,663,664],{"class":93},")",[61,666,667],{"class":71}," ==",[61,669,110],{"class":109},[61,671,673],{"class":672},"sVHd0"," or",[61,675,676],{"class":109}," type",[61,678,94],{"class":93},[61,680,103],{"class":102},[61,682,664],{"class":93},[61,684,667],{"class":71},[61,686,579],{"class":109},[61,688,258],{"class":93},[20,690,691],{},"you can write this:",[52,693,695],{"className":54,"code":694,"language":56,"meta":57,"style":57},"value = 3.5\n\nprint(isinstance(value, (int, float)))\n",[15,696,697,705,709],{"__ignoreMap":57},[61,698,699,701,703],{"class":63,"line":64},[61,700,68],{"class":67},[61,702,72],{"class":71},[61,704,551],{"class":75},[61,706,707],{"class":63,"line":79},[61,708,83],{"emptyLinePlaceholder":82},[61,710,711,713,715,717,719,721,723,725,727,729,731],{"class":63,"line":86},[61,712,90],{"class":89},[61,714,94],{"class":93},[61,716,97],{"class":89},[61,718,94],{"class":93},[61,720,103],{"class":102},[61,722,106],{"class":93},[61,724,572],{"class":93},[61,726,189],{"class":109},[61,728,106],{"class":93},[61,730,579],{"class":109},[61,732,582],{"class":93},[20,734,735],{},"A common use case is accepting both integers and decimal numbers as numeric input.",[47,737,739,741,742],{"id":738},"isinstance-vs-type",[15,740,17],{}," vs ",[15,743,44],{},[20,745,746,747,749,750,755],{},"Both ",[15,748,17],{}," and ",[221,751,753],{"href":752},"\u002Freference\u002Fpython-type-function-explained\u002F",[15,754,44],{}," are related to types, but they are not the same.",[260,757,759],{"id":758},"typevalue-int",[15,760,761],{},"type(value) == int",[20,763,764],{},"This checks for one exact type.",[52,766,768],{"className":54,"code":767,"language":56,"meta":57,"style":57},"value = 10\nprint(type(value) == int)\n",[15,769,770,778],{"__ignoreMap":57},[61,771,772,774,776],{"class":63,"line":64},[61,773,68],{"class":67},[61,775,72],{"class":71},[61,777,76],{"class":75},[61,779,780,782,784,786,788,790,792,794,796],{"class":63,"line":79},[61,781,90],{"class":89},[61,783,94],{"class":93},[61,785,657],{"class":109},[61,787,94],{"class":93},[61,789,103],{"class":102},[61,791,664],{"class":93},[61,793,667],{"class":71},[61,795,110],{"class":109},[61,797,258],{"class":93},[260,799,801],{"id":800},"isinstancevalue-int",[15,802,803],{},"isinstance(value, int)",[20,805,806],{},"This checks whether the value matches that type, including inherited types.",[52,808,810],{"className":54,"code":809,"language":56,"meta":57,"style":57},"value = 10\nprint(isinstance(value, int))\n",[15,811,812,820],{"__ignoreMap":57},[61,813,814,816,818],{"class":63,"line":64},[61,815,68],{"class":67},[61,817,72],{"class":71},[61,819,76],{"class":75},[61,821,822,824,826,828,830,832,834,836],{"class":63,"line":79},[61,823,90],{"class":89},[61,825,94],{"class":93},[61,827,97],{"class":89},[61,829,94],{"class":93},[61,831,103],{"class":102},[61,833,106],{"class":93},[61,835,110],{"class":109},[61,837,342],{"class":93},[20,839,840,841,843],{},"For beginners, ",[15,842,17],{}," is usually the safer choice when you want to know whether a value can be treated like a certain type.",[20,845,846],{},"In everyday code:",[164,848,849,855],{},[167,850,851,852,854],{},"use ",[15,853,44],{}," when you need the exact type",[167,856,851,857,859],{},[15,858,17],{}," when you want a practical type check",[47,861,863],{"id":862},"common-real-uses","Common real uses",[20,865,866,867,229],{},"Here are some common beginner-friendly uses for ",[15,868,17],{},[260,870,872],{"id":871},"validate-function-inputs","Validate function inputs",[52,874,876],{"className":54,"code":875,"language":56,"meta":57,"style":57},"def repeat_text(text, count):\n    if not isinstance(text, str):\n        return \"text must be a string\"\n    \n    if not isinstance(count, int):\n        return \"count must be an integer\"\n    \n    return text * count\n\nprint(repeat_text(\"Hi \", 3))\nprint(repeat_text(\"Hi \", \"3\"))\n",[15,877,878,901,922,934,939,959,971,976,991,996,1023],{"__ignoreMap":57},[61,879,880,884,888,890,893,895,898],{"class":63,"line":64},[61,881,883],{"class":882},"sbsja","def",[61,885,887],{"class":886},"sGLFI"," repeat_text",[61,889,94],{"class":93},[61,891,476],{"class":892},"sFwrP",[61,894,106],{"class":93},[61,896,897],{"class":892}," count",[61,899,900],{"class":93},"):\n",[61,902,903,906,909,912,914,916,918,920],{"class":63,"line":79},[61,904,905],{"class":672},"    if",[61,907,908],{"class":71}," not",[61,910,911],{"class":89}," isinstance",[61,913,94],{"class":93},[61,915,476],{"class":102},[61,917,106],{"class":93},[61,919,135],{"class":109},[61,921,900],{"class":93},[61,923,924,927,929,932],{"class":63,"line":86},[61,925,926],{"class":672},"        return",[61,928,311],{"class":310},[61,930,931],{"class":314},"text must be a string",[61,933,318],{"class":310},[61,935,936],{"class":63,"line":120},[61,937,938],{"class":67},"    \n",[61,940,942,944,946,948,950,953,955,957],{"class":63,"line":941},5,[61,943,905],{"class":672},[61,945,908],{"class":71},[61,947,911],{"class":89},[61,949,94],{"class":93},[61,951,952],{"class":102},"count",[61,954,106],{"class":93},[61,956,110],{"class":109},[61,958,900],{"class":93},[61,960,962,964,966,969],{"class":63,"line":961},6,[61,963,926],{"class":672},[61,965,311],{"class":310},[61,967,968],{"class":314},"count must be an integer",[61,970,318],{"class":310},[61,972,974],{"class":63,"line":973},7,[61,975,938],{"class":67},[61,977,979,982,985,988],{"class":63,"line":978},8,[61,980,981],{"class":672},"    return",[61,983,984],{"class":67}," text ",[61,986,987],{"class":71},"*",[61,989,990],{"class":67}," count\n",[61,992,994],{"class":63,"line":993},9,[61,995,83],{"emptyLinePlaceholder":82},[61,997,999,1001,1003,1006,1008,1011,1014,1016,1018,1021],{"class":63,"line":998},10,[61,1000,90],{"class":89},[61,1002,94],{"class":93},[61,1004,1005],{"class":102},"repeat_text",[61,1007,94],{"class":93},[61,1009,1010],{"class":310},"\"",[61,1012,1013],{"class":314},"Hi ",[61,1015,1010],{"class":310},[61,1017,106],{"class":93},[61,1019,1020],{"class":75}," 3",[61,1022,342],{"class":93},[61,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1047,1049],{"class":63,"line":1025},11,[61,1027,90],{"class":89},[61,1029,94],{"class":93},[61,1031,1005],{"class":102},[61,1033,94],{"class":93},[61,1035,1010],{"class":310},[61,1037,1013],{"class":314},[61,1039,1010],{"class":310},[61,1041,106],{"class":93},[61,1043,311],{"class":310},[61,1045,1046],{"class":314},"3",[61,1048,1010],{"class":310},[61,1050,342],{"class":93},[20,1052,345],{},[52,1054,1056],{"className":54,"code":1055,"language":56,"meta":57,"style":57},"Hi Hi Hi \ncount must be an integer\n",[15,1057,1058,1063],{"__ignoreMap":57},[61,1059,1060],{"class":63,"line":64},[61,1061,1062],{"class":67},"Hi Hi Hi \n",[61,1064,1065],{"class":63,"line":79},[61,1066,1067],{"class":67},"count must be an integer\n",[20,1069,1070],{},"This can help prevent errors such as unsupported operand type errors.",[260,1072,1074],{"id":1073},"handle-strings-and-lists-differently","Handle strings and lists differently",[52,1076,1078],{"className":54,"code":1077,"language":56,"meta":57,"style":57},"value = [\"a\", \"b\", \"c\"]\n\nif isinstance(value, str):\n    print(\"This is text\")\nelif isinstance(value, list):\n    print(\"This is a list\")\n",[15,1079,1080,1116,1120,1137,1153,1170],{"__ignoreMap":57},[61,1081,1082,1084,1086,1089,1091,1093,1095,1097,1099,1102,1104,1106,1108,1111,1113],{"class":63,"line":64},[61,1083,68],{"class":67},[61,1085,72],{"class":71},[61,1087,1088],{"class":93}," [",[61,1090,1010],{"class":310},[61,1092,221],{"class":314},[61,1094,1010],{"class":310},[61,1096,106],{"class":93},[61,1098,311],{"class":310},[61,1100,1101],{"class":314},"b",[61,1103,1010],{"class":310},[61,1105,106],{"class":93},[61,1107,311],{"class":310},[61,1109,1110],{"class":314},"c",[61,1112,1010],{"class":310},[61,1114,1115],{"class":93},"]\n",[61,1117,1118],{"class":63,"line":79},[61,1119,83],{"emptyLinePlaceholder":82},[61,1121,1122,1125,1127,1129,1131,1133,1135],{"class":63,"line":86},[61,1123,1124],{"class":672},"if",[61,1126,911],{"class":89},[61,1128,94],{"class":93},[61,1130,103],{"class":102},[61,1132,106],{"class":93},[61,1134,135],{"class":109},[61,1136,900],{"class":93},[61,1138,1139,1142,1144,1146,1149,1151],{"class":63,"line":120},[61,1140,1141],{"class":89},"    print",[61,1143,94],{"class":93},[61,1145,1010],{"class":310},[61,1147,1148],{"class":314},"This is text",[61,1150,1010],{"class":310},[61,1152,258],{"class":93},[61,1154,1155,1158,1160,1162,1164,1166,1168],{"class":63,"line":941},[61,1156,1157],{"class":672},"elif",[61,1159,911],{"class":89},[61,1161,94],{"class":93},[61,1163,103],{"class":102},[61,1165,106],{"class":93},[61,1167,605],{"class":109},[61,1169,900],{"class":93},[61,1171,1172,1174,1176,1178,1181,1183],{"class":63,"line":961},[61,1173,1141],{"class":89},[61,1175,94],{"class":93},[61,1177,1010],{"class":310},[61,1179,1180],{"class":314},"This is a list",[61,1182,1010],{"class":310},[61,1184,258],{"class":93},[20,1186,345],{},[52,1188,1190],{"className":54,"code":1189,"language":56,"meta":57,"style":57},"This is a list\n",[15,1191,1192],{"__ignoreMap":57},[61,1193,1194,1197,1200,1203],{"class":63,"line":64},[61,1195,1196],{"class":67},"This ",[61,1198,1199],{"class":71},"is",[61,1201,1202],{"class":67}," a ",[61,1204,1205],{"class":109},"list\n",[260,1207,1209],{"id":1208},"check-data-before-converting","Check data before converting",[52,1211,1213],{"className":54,"code":1212,"language":56,"meta":57,"style":57},"value = \"42\"\n\nif isinstance(value, str):\n    number = int(value)\n    print(number)\n",[15,1214,1215,1228,1232,1248,1263],{"__ignoreMap":57},[61,1216,1217,1219,1221,1223,1226],{"class":63,"line":64},[61,1218,68],{"class":67},[61,1220,72],{"class":71},[61,1222,311],{"class":310},[61,1224,1225],{"class":314},"42",[61,1227,318],{"class":310},[61,1229,1230],{"class":63,"line":79},[61,1231,83],{"emptyLinePlaceholder":82},[61,1233,1234,1236,1238,1240,1242,1244,1246],{"class":63,"line":86},[61,1235,1124],{"class":672},[61,1237,911],{"class":89},[61,1239,94],{"class":93},[61,1241,103],{"class":102},[61,1243,106],{"class":93},[61,1245,135],{"class":109},[61,1247,900],{"class":93},[61,1249,1250,1253,1255,1257,1259,1261],{"class":63,"line":120},[61,1251,1252],{"class":67},"    number ",[61,1254,72],{"class":71},[61,1256,110],{"class":109},[61,1258,94],{"class":93},[61,1260,103],{"class":102},[61,1262,258],{"class":93},[61,1264,1265,1267,1269,1272],{"class":63,"line":941},[61,1266,1141],{"class":89},[61,1268,94],{"class":93},[61,1270,1271],{"class":102},"number",[61,1273,258],{"class":93},[20,1275,345],{},[52,1277,1279],{"className":54,"code":1278,"language":56,"meta":57,"style":57},"42\n",[15,1280,1281],{"__ignoreMap":57},[61,1282,1283],{"class":63,"line":64},[61,1284,1278],{"class":75},[20,1286,1287],{},"This is useful when working with user input, since input often starts as text.",[260,1289,1291],{"id":1290},"prevent-errors-before-using-methods-or-loops","Prevent errors before using methods or loops",[52,1293,1295],{"className":54,"code":1294,"language":56,"meta":57,"style":57},"value = {\"name\": \"Ana\"}\n\nif isinstance(value, dict):\n    print(value[\"name\"])\n",[15,1296,1297,1325,1329,1346],{"__ignoreMap":57},[61,1298,1299,1301,1303,1306,1308,1310,1312,1315,1317,1320,1322],{"class":63,"line":64},[61,1300,68],{"class":67},[61,1302,72],{"class":71},[61,1304,1305],{"class":93}," {",[61,1307,1010],{"class":310},[61,1309,335],{"class":314},[61,1311,1010],{"class":310},[61,1313,1314],{"class":93},":",[61,1316,311],{"class":310},[61,1318,1319],{"class":314},"Ana",[61,1321,1010],{"class":310},[61,1323,1324],{"class":93},"}\n",[61,1326,1327],{"class":63,"line":79},[61,1328,83],{"emptyLinePlaceholder":82},[61,1330,1331,1333,1335,1337,1339,1341,1344],{"class":63,"line":86},[61,1332,1124],{"class":672},[61,1334,911],{"class":89},[61,1336,94],{"class":93},[61,1338,103],{"class":102},[61,1340,106],{"class":93},[61,1342,1343],{"class":109}," dict",[61,1345,900],{"class":93},[61,1347,1348,1350,1352,1354,1357,1359,1361,1363],{"class":63,"line":120},[61,1349,1141],{"class":89},[61,1351,94],{"class":93},[61,1353,103],{"class":102},[61,1355,1356],{"class":93},"[",[61,1358,1010],{"class":310},[61,1360,335],{"class":314},[61,1362,1010],{"class":310},[61,1364,1365],{"class":93},"])\n",[20,1367,345],{},[52,1369,1371],{"className":54,"code":1370,"language":56,"meta":57,"style":57},"Ana\n",[15,1372,1373],{"__ignoreMap":57},[61,1374,1375],{"class":63,"line":64},[61,1376,1370],{"class":67},[20,1378,1379,1380,1383],{},"Checking first can help you avoid confusing ",[15,1381,1382],{},"TypeError"," messages later.",[47,1385,1387],{"id":1386},"common-beginner-mistakes","Common beginner mistakes",[260,1389,1391,1392,1395,1396],{"id":1390},"passing-int-instead-of-int","Passing ",[15,1393,1394],{},"\"int\""," instead of ",[15,1397,189],{},[20,1399,1400],{},"Wrong:",[52,1402,1404],{"className":54,"code":1403,"language":56,"meta":57,"style":57},"value = 10\nprint(isinstance(value, \"int\"))\n",[15,1405,1406,1414],{"__ignoreMap":57},[61,1407,1408,1410,1412],{"class":63,"line":64},[61,1409,68],{"class":67},[61,1411,72],{"class":71},[61,1413,76],{"class":75},[61,1415,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434],{"class":63,"line":79},[61,1417,90],{"class":89},[61,1419,94],{"class":93},[61,1421,97],{"class":89},[61,1423,94],{"class":93},[61,1425,103],{"class":102},[61,1427,106],{"class":93},[61,1429,311],{"class":310},[61,1431,189],{"class":314},[61,1433,1010],{"class":310},[61,1435,342],{"class":93},[20,1437,1438,1440],{},[15,1439,1394],{}," is a string, not a type.",[20,1442,1443],{},"Correct:",[52,1445,1446],{"className":54,"code":809,"language":56,"meta":57,"style":57},[15,1447,1448,1456],{"__ignoreMap":57},[61,1449,1450,1452,1454],{"class":63,"line":64},[61,1451,68],{"class":67},[61,1453,72],{"class":71},[61,1455,76],{"class":75},[61,1457,1458,1460,1462,1464,1466,1468,1470,1472],{"class":63,"line":79},[61,1459,90],{"class":89},[61,1461,94],{"class":93},[61,1463,97],{"class":89},[61,1465,94],{"class":93},[61,1467,103],{"class":102},[61,1469,106],{"class":93},[61,1471,110],{"class":109},[61,1473,342],{"class":93},[260,1475,1477],{"id":1476},"using-square-brackets-for-multiple-types","Using square brackets for multiple types",[20,1479,1400],{},[52,1481,1483],{"className":54,"code":1482,"language":56,"meta":57,"style":57},"value = 5\nprint(isinstance(value, [int, float]))\n",[15,1484,1485,1494],{"__ignoreMap":57},[61,1486,1487,1489,1491],{"class":63,"line":64},[61,1488,68],{"class":67},[61,1490,72],{"class":71},[61,1492,1493],{"class":75}," 5\n",[61,1495,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516],{"class":63,"line":79},[61,1497,90],{"class":89},[61,1499,94],{"class":93},[61,1501,97],{"class":89},[61,1503,94],{"class":93},[61,1505,103],{"class":102},[61,1507,106],{"class":93},[61,1509,1088],{"class":93},[61,1511,189],{"class":109},[61,1513,106],{"class":93},[61,1515,579],{"class":109},[61,1517,1518],{"class":93},"]))\n",[20,1520,1521],{},"The second argument should be a type or a tuple of types.",[20,1523,1443],{},[52,1525,1527],{"className":54,"code":1526,"language":56,"meta":57,"style":57},"value = 5\nprint(isinstance(value, (int, float)))\n",[15,1528,1529,1537],{"__ignoreMap":57},[61,1530,1531,1533,1535],{"class":63,"line":64},[61,1532,68],{"class":67},[61,1534,72],{"class":71},[61,1536,1493],{"class":75},[61,1538,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559],{"class":63,"line":79},[61,1540,90],{"class":89},[61,1542,94],{"class":93},[61,1544,97],{"class":89},[61,1546,94],{"class":93},[61,1548,103],{"class":102},[61,1550,106],{"class":93},[61,1552,572],{"class":93},[61,1554,189],{"class":109},[61,1556,106],{"class":93},[61,1558,579],{"class":109},[61,1560,582],{"class":93},[260,1562,1564,1565,1567],{"id":1563},"thinking-isinstance-converts-a-value","Thinking ",[15,1566,17],{}," converts a value",[20,1569,1570],{},"Wrong idea:",[52,1572,1574],{"className":54,"code":1573,"language":56,"meta":57,"style":57},"value = \"123\"\nresult = isinstance(value, int)\n\nprint(result)\n",[15,1575,1576,1589,1608,1612],{"__ignoreMap":57},[61,1577,1578,1580,1582,1584,1587],{"class":63,"line":64},[61,1579,68],{"class":67},[61,1581,72],{"class":71},[61,1583,311],{"class":310},[61,1585,1586],{"class":314},"123",[61,1588,318],{"class":310},[61,1590,1591,1594,1596,1598,1600,1602,1604,1606],{"class":63,"line":79},[61,1592,1593],{"class":67},"result ",[61,1595,72],{"class":71},[61,1597,911],{"class":89},[61,1599,94],{"class":93},[61,1601,103],{"class":102},[61,1603,106],{"class":93},[61,1605,110],{"class":109},[61,1607,258],{"class":93},[61,1609,1610],{"class":63,"line":86},[61,1611,83],{"emptyLinePlaceholder":82},[61,1613,1614,1616,1618,1621],{"class":63,"line":120},[61,1615,90],{"class":89},[61,1617,94],{"class":93},[61,1619,1620],{"class":102},"result",[61,1622,258],{"class":93},[20,1624,345],{},[52,1626,1627],{"className":54,"code":436,"language":56,"meta":57,"style":57},[15,1628,1629],{"__ignoreMap":57},[61,1630,1631],{"class":63,"line":64},[61,1632,436],{"class":355},[20,1634,1635,1636,1639,1640,1642],{},"This does not convert ",[15,1637,1638],{},"\"123\""," into ",[15,1641,1586],{},". It only checks the type.",[20,1644,1645,1646,1649],{},"If your goal is conversion, use ",[15,1647,1648],{},"int(value)"," instead.",[260,1651,1653],{"id":1652},"assuming-it-changes-the-value","Assuming it changes the value",[20,1655,1656,1658],{},[15,1657,17],{}," does not modify anything.",[52,1660,1662],{"className":54,"code":1661,"language":56,"meta":57,"style":57},"value = \"100\"\n\nprint(isinstance(value, str))\nprint(value)\n",[15,1663,1664,1677,1681,1699],{"__ignoreMap":57},[61,1665,1666,1668,1670,1672,1675],{"class":63,"line":64},[61,1667,68],{"class":67},[61,1669,72],{"class":71},[61,1671,311],{"class":310},[61,1673,1674],{"class":314},"100",[61,1676,318],{"class":310},[61,1678,1679],{"class":63,"line":79},[61,1680,83],{"emptyLinePlaceholder":82},[61,1682,1683,1685,1687,1689,1691,1693,1695,1697],{"class":63,"line":86},[61,1684,90],{"class":89},[61,1686,94],{"class":93},[61,1688,97],{"class":89},[61,1690,94],{"class":93},[61,1692,103],{"class":102},[61,1694,106],{"class":93},[61,1696,135],{"class":109},[61,1698,342],{"class":93},[61,1700,1701,1703,1705,1707],{"class":63,"line":120},[61,1702,90],{"class":89},[61,1704,94],{"class":93},[61,1706,103],{"class":102},[61,1708,258],{"class":93},[20,1710,345],{},[52,1712,1714],{"className":54,"code":1713,"language":56,"meta":57,"style":57},"True\n100\n",[15,1715,1716,1720],{"__ignoreMap":57},[61,1717,1718],{"class":63,"line":64},[61,1719,348],{"class":355},[61,1721,1722],{"class":63,"line":79},[61,1723,1724],{"class":75},"100\n",[20,1726,1727],{},"The value stays the same.",[47,1729,1731],{"id":1730},"debugging-tips","Debugging tips",[20,1733,1734],{},"If you are not sure what kind of value you have, these checks are useful:",[52,1736,1738],{"className":54,"code":1737,"language":56,"meta":57,"style":57},"print(type(value))\nprint(isinstance(value, int))\nprint(isinstance(value, (int, float)))\nprint(repr(value))\n",[15,1739,1740,1754,1772,1796],{"__ignoreMap":57},[61,1741,1742,1744,1746,1748,1750,1752],{"class":63,"line":64},[61,1743,90],{"class":89},[61,1745,94],{"class":93},[61,1747,657],{"class":109},[61,1749,94],{"class":93},[61,1751,103],{"class":102},[61,1753,342],{"class":93},[61,1755,1756,1758,1760,1762,1764,1766,1768,1770],{"class":63,"line":79},[61,1757,90],{"class":89},[61,1759,94],{"class":93},[61,1761,97],{"class":89},[61,1763,94],{"class":93},[61,1765,103],{"class":102},[61,1767,106],{"class":93},[61,1769,110],{"class":109},[61,1771,342],{"class":93},[61,1773,1774,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794],{"class":63,"line":86},[61,1775,90],{"class":89},[61,1777,94],{"class":93},[61,1779,97],{"class":89},[61,1781,94],{"class":93},[61,1783,103],{"class":102},[61,1785,106],{"class":93},[61,1787,572],{"class":93},[61,1789,189],{"class":109},[61,1791,106],{"class":93},[61,1793,579],{"class":109},[61,1795,582],{"class":93},[61,1797,1798,1800,1802,1805,1807,1809],{"class":63,"line":120},[61,1799,90],{"class":89},[61,1801,94],{"class":93},[61,1803,1804],{"class":89},"repr",[61,1806,94],{"class":93},[61,1808,103],{"class":102},[61,1810,342],{"class":93},[20,1812,1813],{},"These can help when:",[164,1815,1816,1819,1824,1827],{},[167,1817,1818],{},"a value looks like a number but is actually a string",[167,1820,1821,1822],{},"you are getting a ",[15,1823,1382],{},[167,1825,1826],{},"your condition is not behaving as expected",[167,1828,1829,1830,1832],{},"the second argument to ",[15,1831,17],{}," is invalid",[20,1834,1835],{},"Common causes of mistakes include:",[164,1837,1838,1852,1858,1863],{},[167,1839,1840,1841,31,1844,1847,1848,31,1850],{},"using ",[15,1842,1843],{},"'int'",[15,1845,1846],{},"'str'"," as text instead of ",[15,1849,189],{},[15,1851,185],{},[167,1853,1854,1855,1857],{},"expecting ",[15,1856,17],{}," to convert a value",[167,1859,1840,1860,1862],{},[15,1861,44],{}," when inherited types should also match",[167,1864,1865],{},"passing an invalid second argument",[20,1867,1868,1869,229],{},"If you get an error because Python expected a number but found text, see ",[221,1870,1872,1873],{"href":1871},"\u002Ferrors\u002Ftypeerror-str-object-cannot-be-interpreted-as-an-integer-fix\u002F","TypeError: ",[15,1874,1875],{},"'str' object cannot be interpreted as an integer",[47,1877,1879],{"id":1878},"faq","FAQ",[260,1881,1883,1884,1886],{"id":1882},"what-does-isinstance-return-in-python","What does ",[15,1885,17],{}," return in Python?",[20,1888,1889,1890,1892,1893,229],{},"It returns ",[15,1891,30],{}," if the value matches the given type, otherwise ",[15,1894,34],{},[260,1896,1898,1899,1901],{"id":1897},"can-isinstance-check-more-than-one-type","Can ",[15,1900,17],{}," check more than one type?",[20,1903,1904,1905,229],{},"Yes. Pass a tuple of types, such as ",[15,1906,1907],{},"isinstance(x, (int, float))",[260,1909,1911,1912,749,1914,1916],{"id":1910},"what-is-the-difference-between-isinstance-and-type","What is the difference between ",[15,1913,17],{},[15,1915,44],{},"?",[20,1918,1919,1921,1922,1924],{},[15,1920,44],{}," gives the exact type. ",[15,1923,17],{}," checks whether a value matches a type and also supports inheritance.",[260,1926,1928,1929,1931],{"id":1927},"does-isinstance-convert-a-value","Does ",[15,1930,17],{}," convert a value?",[20,1933,1934],{},"No. It only checks the type. It does not change the value.",[47,1936,1938],{"id":1937},"see-also","See also",[164,1940,1941,1948,1952,1957,1962],{},[167,1942,1943],{},[221,1944,13,1945,1947],{"href":752},[15,1946,44],{}," function explained",[167,1949,1950],{},[221,1951,224],{"href":223},[167,1953,1954],{},[221,1955,1956],{"href":526},"How to convert a string to an integer in Python",[167,1958,1959],{},[221,1960,1961],{"href":227},"What is a data type in Python?",[167,1963,1964],{},[221,1965,1872,1966],{"href":1871},[15,1967,1875],{},[1969,1970,1971],"style",{},"html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sFwrP, html code.shiki .sFwrP{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#24292E;--shiki-default-font-style:inherit;--shiki-dark:#E1E4E8;--shiki-dark-font-style:inherit}",{"title":57,"searchDepth":79,"depth":79,"links":1973},[1974,1975,1977,1980,1984,1985,1990,1996,2004,2005,2015],{"id":49,"depth":79,"text":50},{"id":150,"depth":79,"text":1976},"What isinstance() does",{"id":232,"depth":79,"text":233,"children":1978},[1979],{"id":262,"depth":86,"text":263},{"id":358,"depth":79,"text":359,"children":1981},[1982,1983],{"id":365,"depth":86,"text":366},{"id":439,"depth":86,"text":440},{"id":530,"depth":79,"text":531},{"id":738,"depth":79,"text":1986,"children":1987},"isinstance() vs type()",[1988,1989],{"id":758,"depth":86,"text":761},{"id":800,"depth":86,"text":803},{"id":862,"depth":79,"text":863,"children":1991},[1992,1993,1994,1995],{"id":871,"depth":86,"text":872},{"id":1073,"depth":86,"text":1074},{"id":1208,"depth":86,"text":1209},{"id":1290,"depth":86,"text":1291},{"id":1386,"depth":79,"text":1387,"children":1997},[1998,2000,2001,2003],{"id":1390,"depth":86,"text":1999},"Passing \"int\" instead of int",{"id":1476,"depth":86,"text":1477},{"id":1563,"depth":86,"text":2002},"Thinking isinstance() converts a value",{"id":1652,"depth":86,"text":1653},{"id":1730,"depth":79,"text":1731},{"id":1878,"depth":79,"text":1879,"children":2006},[2007,2009,2011,2013],{"id":1882,"depth":86,"text":2008},"What does isinstance() return in Python?",{"id":1897,"depth":86,"text":2010},"Can isinstance() check more than one type?",{"id":1910,"depth":86,"text":2012},"What is the difference between isinstance() and type()?",{"id":1927,"depth":86,"text":2014},"Does isinstance() convert a value?",{"id":1937,"depth":79,"text":1938},"Master python isinstance function explained in our comprehensive Python beginner guide.","md",{},"\u002Freference\u002Fpython-isinstance-function-explained",{"title":5,"description":2016},"reference\u002Fpython-isinstance-function-explained","iF3_lagEov6vfWHAzwGq_MdJMAghMPTpi88oMC-pOfw",1777585510439]