[{"data":1,"prerenderedAt":1504},["ShallowReactive",2],{"doc-\u002Fexamples\u002Fpython-inheritance-example":3},{"id":4,"title":5,"body":6,"description":1497,"extension":1498,"meta":1499,"navigation":99,"path":1500,"seo":1501,"stem":1502,"__hash__":1503},"content\u002Fexamples\u002Fpython-inheritance-example.md","Python Inheritance Example",{"type":7,"value":8,"toc":1472},"minimark",[9,13,17,20,25,194,200,215,218,253,257,271,284,288,291,372,375,409,415,430,437,441,446,485,490,495,499,542,551,560,564,579,588,595,599,614,630,634,649,658,662,665,668,682,685,692,696,699,713,717,720,827,830,858,861,886,890,893,907,910,916,920,923,999,1002,1037,1040,1240,1245,1287,1290,1315,1319,1323,1326,1330,1333,1337,1340,1344,1347,1350,1431,1440,1444,1468],[10,11,5],"h1",{"id":12},"python-inheritance-example",[14,15,16],"p",{},"Inheritance is a way to reuse code in Python classes. In this example, a child class inherits from a parent class and can use the parent class method while also adding its own method.",[14,18,19],{},"This page gives you a simple, beginner-friendly example so you can see how inheritance works in real code.",[21,22,24],"h2",{"id":23},"quick-example","Quick example",[26,27,32],"pre",{"className":28,"code":29,"language":30,"meta":31,"style":31},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","class Animal:\n    def speak(self):\n        print(\"Animal sound\")\n\nclass Dog(Animal):\n    def bark(self):\n        print(\"Woof!\")\n\ndog = Dog()\ndog.speak()\ndog.bark()\n","python","",[33,34,35,52,72,94,101,116,130,146,151,168,182],"code",{"__ignoreMap":31},[36,37,40,44,48],"span",{"class":38,"line":39},"line",1,[36,41,43],{"class":42},"sbsja","class",[36,45,47],{"class":46},"sbgvK"," Animal",[36,49,51],{"class":50},"sP7_E",":\n",[36,53,55,58,62,65,69],{"class":38,"line":54},2,[36,56,57],{"class":42},"    def",[36,59,61],{"class":60},"sGLFI"," speak",[36,63,64],{"class":50},"(",[36,66,68],{"class":67},"smCYv","self",[36,70,71],{"class":50},"):\n",[36,73,75,79,81,85,89,91],{"class":38,"line":74},3,[36,76,78],{"class":77},"sptTA","        print",[36,80,64],{"class":50},[36,82,84],{"class":83},"sjJ54","\"",[36,86,88],{"class":87},"s_sjI","Animal sound",[36,90,84],{"class":83},[36,92,93],{"class":50},")\n",[36,95,97],{"class":38,"line":96},4,[36,98,100],{"emptyLinePlaceholder":99},true,"\n",[36,102,104,106,109,111,114],{"class":38,"line":103},5,[36,105,43],{"class":42},[36,107,108],{"class":46}," Dog",[36,110,64],{"class":50},[36,112,113],{"class":46},"Animal",[36,115,71],{"class":50},[36,117,119,121,124,126,128],{"class":38,"line":118},6,[36,120,57],{"class":42},[36,122,123],{"class":60}," bark",[36,125,64],{"class":50},[36,127,68],{"class":67},[36,129,71],{"class":50},[36,131,133,135,137,139,142,144],{"class":38,"line":132},7,[36,134,78],{"class":77},[36,136,64],{"class":50},[36,138,84],{"class":83},[36,140,141],{"class":87},"Woof!",[36,143,84],{"class":83},[36,145,93],{"class":50},[36,147,149],{"class":38,"line":148},8,[36,150,100],{"emptyLinePlaceholder":99},[36,152,154,158,162,165],{"class":38,"line":153},9,[36,155,157],{"class":156},"su5hD","dog ",[36,159,161],{"class":160},"smGrS","=",[36,163,108],{"class":164},"slqww",[36,166,167],{"class":50},"()\n",[36,169,171,174,177,180],{"class":38,"line":170},10,[36,172,173],{"class":156},"dog",[36,175,176],{"class":50},".",[36,178,179],{"class":164},"speak",[36,181,167],{"class":50},[36,183,185,187,189,192],{"class":38,"line":184},11,[36,186,173],{"class":156},[36,188,176],{"class":50},[36,190,191],{"class":164},"bark",[36,193,167],{"class":50},[14,195,196],{},[197,198,199],"strong",{},"Output:",[26,201,203],{"className":28,"code":202,"language":30,"meta":31,"style":31},"Animal sound\nWoof!\n",[33,204,205,210],{"__ignoreMap":31},[36,206,207],{"class":38,"line":39},[36,208,209],{"class":156},"Animal sound\n",[36,211,212],{"class":38,"line":54},[36,213,214],{"class":156},"Woof!\n",[14,216,217],{},"In this example:",[219,220,221,227,233,244],"ul",{},[222,223,224,226],"li",{},[33,225,113],{}," is the parent class",[222,228,229,232],{},[33,230,231],{},"Dog"," is the child class",[222,234,235,237,238,241,242],{},[33,236,231],{}," inherits the ",[33,239,240],{},"speak()"," method from ",[33,243,113],{},[222,245,246,248,249,252],{},[33,247,231],{}," also has its own ",[33,250,251],{},"bark()"," method",[21,254,256],{"id":255},"what-this-example-teaches","What this example teaches",[219,258,259,262,265,268],{},[222,260,261],{},"A child class can inherit from a parent class",[222,263,264],{},"The child class gets the parent class methods",[222,266,267],{},"The child class can also add new methods of its own",[222,269,270],{},"Inheritance helps avoid repeating code",[14,272,273,274,279,280,176],{},"If you are new to this topic, it may help to first read ",[275,276,278],"a",{"href":277},"\u002Flearn\u002Fpython-classes-and-objects-explained\u002F","Python classes and objects explained"," or the glossary page on ",[275,281,283],{"href":282},"\u002Fglossary\u002Fwhat-is-a-class-in-python\u002F","what a class is in Python",[21,285,287],{"id":286},"parent-class-and-child-class","Parent class and child class",[14,289,290],{},"Here is the same example again:",[26,292,294],{"className":28,"code":293,"language":30,"meta":31,"style":31},"class Animal:\n    def speak(self):\n        print(\"Animal sound\")\n\nclass Dog(Animal):\n    def bark(self):\n        print(\"Woof!\")\n",[33,295,296,304,316,330,334,346,358],{"__ignoreMap":31},[36,297,298,300,302],{"class":38,"line":39},[36,299,43],{"class":42},[36,301,47],{"class":46},[36,303,51],{"class":50},[36,305,306,308,310,312,314],{"class":38,"line":54},[36,307,57],{"class":42},[36,309,61],{"class":60},[36,311,64],{"class":50},[36,313,68],{"class":67},[36,315,71],{"class":50},[36,317,318,320,322,324,326,328],{"class":38,"line":74},[36,319,78],{"class":77},[36,321,64],{"class":50},[36,323,84],{"class":83},[36,325,88],{"class":87},[36,327,84],{"class":83},[36,329,93],{"class":50},[36,331,332],{"class":38,"line":96},[36,333,100],{"emptyLinePlaceholder":99},[36,335,336,338,340,342,344],{"class":38,"line":103},[36,337,43],{"class":42},[36,339,108],{"class":46},[36,341,64],{"class":50},[36,343,113],{"class":46},[36,345,71],{"class":50},[36,347,348,350,352,354,356],{"class":38,"line":118},[36,349,57],{"class":42},[36,351,123],{"class":60},[36,353,64],{"class":50},[36,355,68],{"class":67},[36,357,71],{"class":50},[36,359,360,362,364,366,368,370],{"class":38,"line":132},[36,361,78],{"class":77},[36,363,64],{"class":50},[36,365,84],{"class":83},[36,367,141],{"class":87},[36,369,84],{"class":83},[36,371,93],{"class":50},[14,373,374],{},"What each part means:",[219,376,377,385,392,403],{},[222,378,379,381,382],{},[33,380,113],{}," is the ",[197,383,384],{},"parent class",[222,386,387,381,389],{},[33,388,231],{},[197,390,391],{},"child class",[222,393,394,397,398,400,401],{},[33,395,396],{},"Dog(Animal)"," means ",[33,399,231],{}," inherits from ",[33,402,113],{},[222,404,405,406,408],{},"Objects created from ",[33,407,231],{}," can use methods from both classes",[14,410,411,412,414],{},"So when you create a ",[33,413,231],{}," object, Python lets that object use:",[219,416,417,424],{},[222,418,419,421,422],{},[33,420,240],{}," from ",[33,423,113],{},[222,425,426,421,428],{},[33,427,251],{},[33,429,231],{},[14,431,432,433,176],{},"This is the main idea behind ",[275,434,436],{"href":435},"\u002Fglossary\u002Fwhat-is-inheritance-in-python\u002F","inheritance in Python",[21,438,440],{"id":439},"how-the-example-works-step-by-step","How the example works step by step",[442,443,445],"h3",{"id":444},"_1-define-a-parent-class-with-one-method","1. Define a parent class with one method",[26,447,449],{"className":28,"code":448,"language":30,"meta":31,"style":31},"class Animal:\n    def speak(self):\n        print(\"Animal sound\")\n",[33,450,451,459,471],{"__ignoreMap":31},[36,452,453,455,457],{"class":38,"line":39},[36,454,43],{"class":42},[36,456,47],{"class":46},[36,458,51],{"class":50},[36,460,461,463,465,467,469],{"class":38,"line":54},[36,462,57],{"class":42},[36,464,61],{"class":60},[36,466,64],{"class":50},[36,468,68],{"class":67},[36,470,71],{"class":50},[36,472,473,475,477,479,481,483],{"class":38,"line":74},[36,474,78],{"class":77},[36,476,64],{"class":50},[36,478,84],{"class":83},[36,480,88],{"class":87},[36,482,84],{"class":83},[36,484,93],{"class":50},[14,486,487,488,176],{},"This creates a class named ",[33,489,113],{},[14,491,492,493,176],{},"Inside it, there is one method: ",[33,494,240],{},[442,496,498],{"id":497},"_2-define-a-child-class-that-inherits-from-the-parent","2. Define a child class that inherits from the parent",[26,500,502],{"className":28,"code":501,"language":30,"meta":31,"style":31},"class Dog(Animal):\n    def bark(self):\n        print(\"Woof!\")\n",[33,503,504,516,528],{"__ignoreMap":31},[36,505,506,508,510,512,514],{"class":38,"line":39},[36,507,43],{"class":42},[36,509,108],{"class":46},[36,511,64],{"class":50},[36,513,113],{"class":46},[36,515,71],{"class":50},[36,517,518,520,522,524,526],{"class":38,"line":54},[36,519,57],{"class":42},[36,521,123],{"class":60},[36,523,64],{"class":50},[36,525,68],{"class":67},[36,527,71],{"class":50},[36,529,530,532,534,536,538,540],{"class":38,"line":74},[36,531,78],{"class":77},[36,533,64],{"class":50},[36,535,84],{"class":83},[36,537,141],{"class":87},[36,539,84],{"class":83},[36,541,93],{"class":50},[14,543,544,397,546,548,549,176],{},[33,545,396],{},[33,547,231],{}," is based on ",[33,550,113],{},[14,552,553,554,556,557,559],{},"Because of this, ",[33,555,231],{}," gets access to the ",[33,558,240],{}," method without writing it again.",[442,561,563],{"id":562},"_3-create-an-object-from-the-child-class","3. Create an object from the child class",[26,565,567],{"className":28,"code":566,"language":30,"meta":31,"style":31},"dog = Dog()\n",[33,568,569],{"__ignoreMap":31},[36,570,571,573,575,577],{"class":38,"line":39},[36,572,157],{"class":156},[36,574,161],{"class":160},[36,576,108],{"class":164},[36,578,167],{"class":50},[14,580,581,582,584,585,587],{},"This creates an object named ",[33,583,173],{}," from the ",[33,586,231],{}," class.",[14,589,590,591,176],{},"If you need more practice with this step, see ",[275,592,594],{"href":593},"\u002Fhow-to\u002Fhow-to-create-an-object-in-python\u002F","how to create an object in Python",[442,596,598],{"id":597},"_4-call-an-inherited-method","4. Call an inherited method",[26,600,602],{"className":28,"code":601,"language":30,"meta":31,"style":31},"dog.speak()\n",[33,603,604],{"__ignoreMap":31},[36,605,606,608,610,612],{"class":38,"line":39},[36,607,173],{"class":156},[36,609,176],{"class":50},[36,611,179],{"class":164},[36,613,167],{"class":50},[14,615,616,617,619,620,622,623,625,626,400,628,176],{},"Even though ",[33,618,240],{}," is written inside ",[33,621,113],{},", the ",[33,624,173],{}," object can still use it because ",[33,627,231],{},[33,629,113],{},[442,631,633],{"id":632},"_5-call-a-method-defined-in-the-child-class","5. Call a method defined in the child class",[26,635,637],{"className":28,"code":636,"language":30,"meta":31,"style":31},"dog.bark()\n",[33,638,639],{"__ignoreMap":31},[36,640,641,643,645,647],{"class":38,"line":39},[36,642,173],{"class":156},[36,644,176],{"class":50},[36,646,191],{"class":164},[36,648,167],{"class":50},[14,650,651,652,654,655,657],{},"This method belongs directly to ",[33,653,231],{},", so the ",[33,656,173],{}," object can use it too.",[21,659,661],{"id":660},"why-beginners-use-inheritance","Why beginners use inheritance",[14,663,664],{},"Beginners often use inheritance when they want related classes to share behavior.",[14,666,667],{},"It helps because:",[219,669,670,673,676,679],{},[222,671,672],{},"It groups related classes together",[222,674,675],{},"It lets you reuse existing code",[222,677,678],{},"It makes larger programs easier to organize",[222,680,681],{},"It is common in object-oriented programming",[14,683,684],{},"For example, if you had several animal classes, they could all inherit from one parent class instead of repeating the same methods in every class.",[14,686,687,688,176],{},"If you want to build your own class first, see ",[275,689,691],{"href":690},"\u002Fhow-to\u002Fhow-to-create-a-class-in-python\u002F","how to create a class in Python",[21,693,695],{"id":694},"what-to-watch-out-for","What to watch out for",[14,697,698],{},"Here are some common beginner mistakes with inheritance:",[219,700,701,704,707,710],{},[222,702,703],{},"Forgetting parentheses when inheriting from a class",[222,705,706],{},"Misspelling method names",[222,708,709],{},"Trying to call a child-only method on a parent object",[222,711,712],{},"Using inheritance when a simple class would be enough",[442,714,716],{"id":715},"example-of-creating-an-object-from-the-wrong-class","Example of creating an object from the wrong class",[14,718,719],{},"This code causes a problem:",[26,721,723],{"className":28,"code":722,"language":30,"meta":31,"style":31},"class Animal:\n    def speak(self):\n        print(\"Animal sound\")\n\nclass Dog(Animal):\n    def bark(self):\n        print(\"Woof!\")\n\nanimal = Animal()\nanimal.bark()\n",[33,724,725,733,745,759,763,775,787,801,805,816],{"__ignoreMap":31},[36,726,727,729,731],{"class":38,"line":39},[36,728,43],{"class":42},[36,730,47],{"class":46},[36,732,51],{"class":50},[36,734,735,737,739,741,743],{"class":38,"line":54},[36,736,57],{"class":42},[36,738,61],{"class":60},[36,740,64],{"class":50},[36,742,68],{"class":67},[36,744,71],{"class":50},[36,746,747,749,751,753,755,757],{"class":38,"line":74},[36,748,78],{"class":77},[36,750,64],{"class":50},[36,752,84],{"class":83},[36,754,88],{"class":87},[36,756,84],{"class":83},[36,758,93],{"class":50},[36,760,761],{"class":38,"line":96},[36,762,100],{"emptyLinePlaceholder":99},[36,764,765,767,769,771,773],{"class":38,"line":103},[36,766,43],{"class":42},[36,768,108],{"class":46},[36,770,64],{"class":50},[36,772,113],{"class":46},[36,774,71],{"class":50},[36,776,777,779,781,783,785],{"class":38,"line":118},[36,778,57],{"class":42},[36,780,123],{"class":60},[36,782,64],{"class":50},[36,784,68],{"class":67},[36,786,71],{"class":50},[36,788,789,791,793,795,797,799],{"class":38,"line":132},[36,790,78],{"class":77},[36,792,64],{"class":50},[36,794,84],{"class":83},[36,796,141],{"class":87},[36,798,84],{"class":83},[36,800,93],{"class":50},[36,802,803],{"class":38,"line":148},[36,804,100],{"emptyLinePlaceholder":99},[36,806,807,810,812,814],{"class":38,"line":153},[36,808,809],{"class":156},"animal ",[36,811,161],{"class":160},[36,813,47],{"class":164},[36,815,167],{"class":50},[36,817,818,821,823,825],{"class":38,"line":170},[36,819,820],{"class":156},"animal",[36,822,176],{"class":50},[36,824,191],{"class":164},[36,826,167],{"class":50},[14,828,829],{},"Why it fails:",[219,831,832,839,850],{},[222,833,834,836,837],{},[33,835,113],{}," has ",[33,838,240],{},[222,840,841,843,844,847,848],{},[33,842,113],{}," does ",[197,845,846],{},"not"," have ",[33,849,251],{},[222,851,852,853,855,856],{},"Only ",[33,854,231],{}," objects have ",[33,857,251],{},[14,859,860],{},"A correct version is:",[26,862,864],{"className":28,"code":863,"language":30,"meta":31,"style":31},"dog = Dog()\ndog.bark()\n",[33,865,866,876],{"__ignoreMap":31},[36,867,868,870,872,874],{"class":38,"line":39},[36,869,157],{"class":156},[36,871,161],{"class":160},[36,873,108],{"class":164},[36,875,167],{"class":50},[36,877,878,880,882,884],{"class":38,"line":54},[36,879,173],{"class":156},[36,881,176],{"class":50},[36,883,191],{"class":164},[36,885,167],{"class":50},[21,887,889],{"id":888},"common-mistakes","Common mistakes",[14,891,892],{},"Some common causes of confusion are:",[219,894,895,898,901,904],{},[222,896,897],{},"Confusing parent class methods with child class methods",[222,899,900],{},"Creating an object from the wrong class",[222,902,903],{},"Using inheritance syntax incorrectly",[222,905,906],{},"Assuming inheritance copies code instead of sharing behavior",[14,908,909],{},"A useful thing to remember is this:",[14,911,912,913,915],{},"Inheritance does ",[197,914,846],{}," copy and paste methods into the child class. Instead, the child class can access behavior from the parent class.",[21,917,919],{"id":918},"helpful-debugging-checks","Helpful debugging checks",[14,921,922],{},"If your code is not working, these quick checks can help:",[26,924,926],{"className":28,"code":925,"language":30,"meta":31,"style":31},"print(type(dog))\nprint(isinstance(dog, Dog))\nprint(isinstance(dog, Animal))\nprint(dir(dog))\n",[33,927,928,946,966,984],{"__ignoreMap":31},[36,929,930,933,935,939,941,943],{"class":38,"line":39},[36,931,932],{"class":77},"print",[36,934,64],{"class":50},[36,936,938],{"class":937},"sZMiF","type",[36,940,64],{"class":50},[36,942,173],{"class":164},[36,944,945],{"class":50},"))\n",[36,947,948,950,952,955,957,959,962,964],{"class":38,"line":54},[36,949,932],{"class":77},[36,951,64],{"class":50},[36,953,954],{"class":77},"isinstance",[36,956,64],{"class":50},[36,958,173],{"class":164},[36,960,961],{"class":50},",",[36,963,108],{"class":164},[36,965,945],{"class":50},[36,967,968,970,972,974,976,978,980,982],{"class":38,"line":74},[36,969,932],{"class":77},[36,971,64],{"class":50},[36,973,954],{"class":77},[36,975,64],{"class":50},[36,977,173],{"class":164},[36,979,961],{"class":50},[36,981,47],{"class":164},[36,983,945],{"class":50},[36,985,986,988,990,993,995,997],{"class":38,"line":96},[36,987,932],{"class":77},[36,989,64],{"class":50},[36,991,992],{"class":77},"dir",[36,994,64],{"class":50},[36,996,173],{"class":164},[36,998,945],{"class":50},[14,1000,1001],{},"What they do:",[219,1003,1004,1010,1021,1031],{},[222,1005,1006,1009],{},[33,1007,1008],{},"type(dog)"," shows the object's class",[222,1011,1012,1015,1016,1018,1019],{},[33,1013,1014],{},"isinstance(dog, Dog)"," checks if ",[33,1017,173],{}," is a ",[33,1020,231],{},[222,1022,1023,1015,1026,1028,1029],{},[33,1024,1025],{},"isinstance(dog, Animal)",[33,1027,173],{}," is also considered an ",[33,1030,113],{},[222,1032,1033,1036],{},[33,1034,1035],{},"dir(dog)"," shows available attributes and methods",[14,1038,1039],{},"Example:",[26,1041,1043],{"className":28,"code":1042,"language":30,"meta":31,"style":31},"class Animal:\n    def speak(self):\n        print(\"Animal sound\")\n\nclass Dog(Animal):\n    def bark(self):\n        print(\"Woof!\")\n\ndog = Dog()\n\nprint(type(dog))\nprint(isinstance(dog, Dog))\nprint(isinstance(dog, Animal))\nprint(\"speak\" in dir(dog))\nprint(\"bark\" in dir(dog))\n",[33,1044,1045,1053,1065,1079,1083,1095,1107,1121,1125,1135,1139,1153,1172,1191,1217],{"__ignoreMap":31},[36,1046,1047,1049,1051],{"class":38,"line":39},[36,1048,43],{"class":42},[36,1050,47],{"class":46},[36,1052,51],{"class":50},[36,1054,1055,1057,1059,1061,1063],{"class":38,"line":54},[36,1056,57],{"class":42},[36,1058,61],{"class":60},[36,1060,64],{"class":50},[36,1062,68],{"class":67},[36,1064,71],{"class":50},[36,1066,1067,1069,1071,1073,1075,1077],{"class":38,"line":74},[36,1068,78],{"class":77},[36,1070,64],{"class":50},[36,1072,84],{"class":83},[36,1074,88],{"class":87},[36,1076,84],{"class":83},[36,1078,93],{"class":50},[36,1080,1081],{"class":38,"line":96},[36,1082,100],{"emptyLinePlaceholder":99},[36,1084,1085,1087,1089,1091,1093],{"class":38,"line":103},[36,1086,43],{"class":42},[36,1088,108],{"class":46},[36,1090,64],{"class":50},[36,1092,113],{"class":46},[36,1094,71],{"class":50},[36,1096,1097,1099,1101,1103,1105],{"class":38,"line":118},[36,1098,57],{"class":42},[36,1100,123],{"class":60},[36,1102,64],{"class":50},[36,1104,68],{"class":67},[36,1106,71],{"class":50},[36,1108,1109,1111,1113,1115,1117,1119],{"class":38,"line":132},[36,1110,78],{"class":77},[36,1112,64],{"class":50},[36,1114,84],{"class":83},[36,1116,141],{"class":87},[36,1118,84],{"class":83},[36,1120,93],{"class":50},[36,1122,1123],{"class":38,"line":148},[36,1124,100],{"emptyLinePlaceholder":99},[36,1126,1127,1129,1131,1133],{"class":38,"line":153},[36,1128,157],{"class":156},[36,1130,161],{"class":160},[36,1132,108],{"class":164},[36,1134,167],{"class":50},[36,1136,1137],{"class":38,"line":170},[36,1138,100],{"emptyLinePlaceholder":99},[36,1140,1141,1143,1145,1147,1149,1151],{"class":38,"line":184},[36,1142,932],{"class":77},[36,1144,64],{"class":50},[36,1146,938],{"class":937},[36,1148,64],{"class":50},[36,1150,173],{"class":164},[36,1152,945],{"class":50},[36,1154,1156,1158,1160,1162,1164,1166,1168,1170],{"class":38,"line":1155},12,[36,1157,932],{"class":77},[36,1159,64],{"class":50},[36,1161,954],{"class":77},[36,1163,64],{"class":50},[36,1165,173],{"class":164},[36,1167,961],{"class":50},[36,1169,108],{"class":164},[36,1171,945],{"class":50},[36,1173,1175,1177,1179,1181,1183,1185,1187,1189],{"class":38,"line":1174},13,[36,1176,932],{"class":77},[36,1178,64],{"class":50},[36,1180,954],{"class":77},[36,1182,64],{"class":50},[36,1184,173],{"class":164},[36,1186,961],{"class":50},[36,1188,47],{"class":164},[36,1190,945],{"class":50},[36,1192,1194,1196,1198,1200,1202,1204,1208,1211,1213,1215],{"class":38,"line":1193},14,[36,1195,932],{"class":77},[36,1197,64],{"class":50},[36,1199,84],{"class":83},[36,1201,179],{"class":87},[36,1203,84],{"class":83},[36,1205,1207],{"class":1206},"sVHd0"," in",[36,1209,1210],{"class":77}," dir",[36,1212,64],{"class":50},[36,1214,173],{"class":164},[36,1216,945],{"class":50},[36,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238],{"class":38,"line":1219},15,[36,1221,932],{"class":77},[36,1223,64],{"class":50},[36,1225,84],{"class":83},[36,1227,191],{"class":87},[36,1229,84],{"class":83},[36,1231,1207],{"class":1206},[36,1233,1210],{"class":77},[36,1235,64],{"class":50},[36,1237,173],{"class":164},[36,1239,945],{"class":50},[14,1241,1242],{},[197,1243,1244],{},"Possible output:",[26,1246,1248],{"className":28,"code":1247,"language":30,"meta":31,"style":31},"\u003Cclass '__main__.Dog'>\nTrue\nTrue\nTrue\nTrue\n",[33,1249,1250,1269,1275,1279,1283],{"__ignoreMap":31},[36,1251,1252,1255,1257,1260,1263,1266],{"class":38,"line":39},[36,1253,1254],{"class":160},"\u003C",[36,1256,43],{"class":42},[36,1258,1259],{"class":83}," '",[36,1261,1262],{"class":87},"__main__.Dog",[36,1264,1265],{"class":83},"'",[36,1267,1268],{"class":160},">\n",[36,1270,1271],{"class":38,"line":54},[36,1272,1274],{"class":1273},"s39Yj","True\n",[36,1276,1277],{"class":38,"line":74},[36,1278,1274],{"class":1273},[36,1280,1281],{"class":38,"line":96},[36,1282,1274],{"class":1273},[36,1284,1285],{"class":38,"line":103},[36,1286,1274],{"class":1273},[14,1288,1289],{},"This shows that:",[219,1291,1292,1298,1305],{},[222,1293,1294,1018,1296],{},[33,1295,173],{},[33,1297,231],{},[222,1299,1300,1302,1303],{},[33,1301,173],{}," is also treated as an ",[33,1304,113],{},[222,1306,1307,1309,1310,1312,1313],{},[33,1308,173],{}," has both ",[33,1311,179],{}," and ",[33,1314,191],{},[21,1316,1318],{"id":1317},"faq","FAQ",[442,1320,1322],{"id":1321},"what-is-inheritance-in-python","What is inheritance in Python?",[14,1324,1325],{},"Inheritance lets one class use code from another class. A child class gets methods and attributes from a parent class.",[442,1327,1329],{"id":1328},"why-would-i-use-inheritance","Why would I use inheritance?",[14,1331,1332],{},"Use it when two classes are related and should share behavior. It helps reduce repeated code.",[442,1334,1336],{"id":1335},"can-a-child-class-add-its-own-methods","Can a child class add its own methods?",[14,1338,1339],{},"Yes. A child class can use inherited methods and also define new ones.",[442,1341,1343],{"id":1342},"can-a-child-class-change-a-parent-method","Can a child class change a parent method?",[14,1345,1346],{},"Yes. This is called overriding. The child class defines a method with the same name.",[14,1348,1349],{},"Here is a simple overriding example:",[26,1351,1353],{"className":28,"code":1352,"language":30,"meta":31,"style":31},"class Animal:\n    def speak(self):\n        print(\"Animal sound\")\n\nclass Dog(Animal):\n    def speak(self):\n        print(\"Woof!\")\n",[33,1354,1355,1363,1375,1389,1393,1405,1417],{"__ignoreMap":31},[36,1356,1357,1359,1361],{"class":38,"line":39},[36,1358,43],{"class":42},[36,1360,47],{"class":46},[36,1362,51],{"class":50},[36,1364,1365,1367,1369,1371,1373],{"class":38,"line":54},[36,1366,57],{"class":42},[36,1368,61],{"class":60},[36,1370,64],{"class":50},[36,1372,68],{"class":67},[36,1374,71],{"class":50},[36,1376,1377,1379,1381,1383,1385,1387],{"class":38,"line":74},[36,1378,78],{"class":77},[36,1380,64],{"class":50},[36,1382,84],{"class":83},[36,1384,88],{"class":87},[36,1386,84],{"class":83},[36,1388,93],{"class":50},[36,1390,1391],{"class":38,"line":96},[36,1392,100],{"emptyLinePlaceholder":99},[36,1394,1395,1397,1399,1401,1403],{"class":38,"line":103},[36,1396,43],{"class":42},[36,1398,108],{"class":46},[36,1400,64],{"class":50},[36,1402,113],{"class":46},[36,1404,71],{"class":50},[36,1406,1407,1409,1411,1413,1415],{"class":38,"line":118},[36,1408,57],{"class":42},[36,1410,61],{"class":60},[36,1412,64],{"class":50},[36,1414,68],{"class":67},[36,1416,71],{"class":50},[36,1418,1419,1421,1423,1425,1427,1429],{"class":38,"line":132},[36,1420,78],{"class":77},[36,1422,64],{"class":50},[36,1424,84],{"class":83},[36,1426,141],{"class":87},[36,1428,84],{"class":83},[36,1430,93],{"class":50},[14,1432,1433,1434,1436,1437,1439],{},"Now a ",[33,1435,231],{}," object will use its own ",[33,1438,240],{}," method instead of the parent version.",[21,1441,1443],{"id":1442},"see-also","See also",[219,1445,1446,1452,1456,1462],{},[222,1447,1448],{},[275,1449,1451],{"href":1450},"\u002Flearn\u002Fobject-oriented-programming-in-python-explained\u002F","Object-oriented programming in Python explained",[222,1453,1454],{},[275,1455,278],{"href":277},[222,1457,1458],{},[275,1459,1461],{"href":1460},"\u002Fhow-to\u002Fhow-to-inherit-from-a-class-in-python\u002F","How to inherit from a class in Python",[222,1463,1464],{},[275,1465,1467],{"href":1466},"\u002Fglossary\u002Fwhat-is-an-object-in-python\u002F","What is an object in Python?",[1469,1470,1471],"style",{},"html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .smCYv, html code.shiki .smCYv{--shiki-light:#E53935;--shiki-light-font-style:italic;--shiki-default:#24292E;--shiki-default-font-style:inherit;--shiki-dark:#E1E4E8;--shiki-dark-font-style:inherit}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .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 .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--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 .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":31,"searchDepth":54,"depth":54,"links":1473},[1474,1475,1476,1477,1484,1485,1488,1489,1490,1496],{"id":23,"depth":54,"text":24},{"id":255,"depth":54,"text":256},{"id":286,"depth":54,"text":287},{"id":439,"depth":54,"text":440,"children":1478},[1479,1480,1481,1482,1483],{"id":444,"depth":74,"text":445},{"id":497,"depth":74,"text":498},{"id":562,"depth":74,"text":563},{"id":597,"depth":74,"text":598},{"id":632,"depth":74,"text":633},{"id":660,"depth":54,"text":661},{"id":694,"depth":54,"text":695,"children":1486},[1487],{"id":715,"depth":74,"text":716},{"id":888,"depth":54,"text":889},{"id":918,"depth":54,"text":919},{"id":1317,"depth":54,"text":1318,"children":1491},[1492,1493,1494,1495],{"id":1321,"depth":74,"text":1322},{"id":1328,"depth":74,"text":1329},{"id":1335,"depth":74,"text":1336},{"id":1342,"depth":74,"text":1343},{"id":1442,"depth":54,"text":1443},"Master python inheritance example in our comprehensive Python beginner guide.","md",{},"\u002Fexamples\u002Fpython-inheritance-example",{"title":5,"description":1497},"examples\u002Fpython-inheritance-example","NWWsJipwyk62hEDrM-4ibIi-ev_X7SiH71uys529BsU",1777585476864]