[{"data":1,"prerenderedAt":2356},["ShallowReactive",2],{"doc-\u002Flearn\u002Fthe-__init__-method-in-python-explained":3},{"id":4,"title":5,"body":6,"description":2349,"extension":2350,"meta":2351,"navigation":143,"path":2352,"seo":2353,"stem":2354,"__hash__":2355},"content\u002Flearn\u002Fthe-__init__-method-in-python-explained.md","The __init__ Method in Python Explained",{"type":7,"value":8,"toc":2311},"minimark",[9,19,25,38,43,210,213,228,235,242,260,268,275,289,295,299,305,347,350,371,378,382,385,405,408,492,494,503,512,519,525,531,550,557,559,686,688,703,706,723,727,733,895,897,917,920,926,931,936,1013,1015,1024,1028,1147,1153,1157,1328,1330,1351,1358,1362,1365,1395,1398,1479,1486,1515,1521,1526,1539,1542,1584,1587,1636,1642,1648,1653,1656,1670,1677,1681,1687,1727,1730,1783,1789,1792,1849,1852,1890,1893,1895,1936,1940,1943,2004,2007,2033,2035,2150,2153,2211,2215,2222,2225,2232,2238,2248,2253,2260,2263,2269,2272,2276,2301,2307],[10,11,13,14,18],"h1",{"id":12},"the-__init__-method-in-python-explained","The ",[15,16,17],"code",{},"__init__"," Method in Python Explained",[20,21,13,22,24],"p",{},[15,23,17],{}," method is a special method in a Python class. It runs automatically when you create a new object.",[20,26,27,28,30,31,34,35,37],{},"Beginners use ",[15,29,17],{}," to give each object its starting data. For example, if you create a ",[15,32,33],{},"Dog"," object, ",[15,36,17],{}," can store its name and age right away.",[39,40,42],"h2",{"id":41},"quick-example","Quick example",[44,45,50],"pre",{"className":46,"code":47,"language":48,"meta":49,"style":49},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","class Dog:\n    def __init__(self, name, age):\n        self.name = name\n        self.age = age\n\nmy_dog = Dog(\"Max\", 3)\nprint(my_dog.name)\nprint(my_dog.age)\n","python","",[15,51,52,69,101,123,138,145,178,195],{"__ignoreMap":49},[53,54,57,61,65],"span",{"class":55,"line":56},"line",1,[53,58,60],{"class":59},"sbsja","class",[53,62,64],{"class":63},"sbgvK"," Dog",[53,66,68],{"class":67},"sP7_E",":\n",[53,70,72,75,79,82,86,89,93,95,98],{"class":55,"line":71},2,[53,73,74],{"class":59},"    def",[53,76,78],{"class":77},"sptTA"," __init__",[53,80,81],{"class":67},"(",[53,83,85],{"class":84},"smCYv","self",[53,87,88],{"class":67},",",[53,90,92],{"class":91},"sFwrP"," name",[53,94,88],{"class":67},[53,96,97],{"class":91}," age",[53,99,100],{"class":67},"):\n",[53,102,104,108,111,115,119],{"class":55,"line":103},3,[53,105,107],{"class":106},"s_hVV","        self",[53,109,110],{"class":67},".",[53,112,114],{"class":113},"skxfh","name",[53,116,118],{"class":117},"smGrS"," =",[53,120,122],{"class":121},"su5hD"," name\n",[53,124,126,128,130,133,135],{"class":55,"line":125},4,[53,127,107],{"class":106},[53,129,110],{"class":67},[53,131,132],{"class":113},"age",[53,134,118],{"class":117},[53,136,137],{"class":121}," age\n",[53,139,141],{"class":55,"line":140},5,[53,142,144],{"emptyLinePlaceholder":143},true,"\n",[53,146,148,151,154,157,159,163,167,169,171,175],{"class":55,"line":147},6,[53,149,150],{"class":121},"my_dog ",[53,152,153],{"class":117},"=",[53,155,64],{"class":156},"slqww",[53,158,81],{"class":67},[53,160,162],{"class":161},"sjJ54","\"",[53,164,166],{"class":165},"s_sjI","Max",[53,168,162],{"class":161},[53,170,88],{"class":67},[53,172,174],{"class":173},"srdBf"," 3",[53,176,177],{"class":67},")\n",[53,179,181,184,186,189,191,193],{"class":55,"line":180},7,[53,182,183],{"class":77},"print",[53,185,81],{"class":67},[53,187,188],{"class":156},"my_dog",[53,190,110],{"class":67},[53,192,114],{"class":113},[53,194,177],{"class":67},[53,196,198,200,202,204,206,208],{"class":55,"line":197},8,[53,199,183],{"class":77},[53,201,81],{"class":67},[53,203,188],{"class":156},[53,205,110],{"class":67},[53,207,132],{"class":113},[53,209,177],{"class":67},[20,211,212],{},"Output:",[44,214,216],{"className":46,"code":215,"language":48,"meta":49,"style":49},"Max\n3\n",[15,217,218,223],{"__ignoreMap":49},[53,219,220],{"class":55,"line":56},[53,221,222],{"class":121},"Max\n",[53,224,225],{"class":55,"line":71},[53,226,227],{"class":173},"3\n",[20,229,230,232,233,110],{},[15,231,17],{}," runs automatically when you create an object. It is commonly used to store starting values on ",[15,234,85],{},[39,236,238,239,241],{"id":237},"what-__init__-is","What ",[15,240,17],{}," is",[243,244,245,251,254,257],"ul",{},[246,247,248,250],"li",{},[15,249,17],{}," is a special method used inside a class.",[246,252,253],{},"It runs automatically when a new object is created.",[246,255,256],{},"Its main job is to set up the object.",[246,258,259],{},"Beginners often call it a constructor, but in Python it is the initializer.",[20,261,262,263,110],{},"If you are new to classes, it helps to first understand ",[264,265,267],"a",{"href":266},"\u002Flearn\u002Fpython-classes-and-objects-explained","Python classes and objects",[39,269,271,272,274],{"id":270},"why-__init__-is-useful","Why ",[15,273,17],{}," is useful",[243,276,277,280,283,286],{},[246,278,279],{},"It lets each object start with its own data.",[246,281,282],{},"It helps keep related values inside one object.",[246,284,285],{},"It makes objects ready to use right after creation.",[246,287,288],{},"It avoids setting every attribute manually after creating the object.",[20,290,291,292,294],{},"Without ",[15,293,17],{},", you would often need to create an object first and then assign values one by one. That works sometimes, but it is less clear and easier to forget.",[39,296,298],{"id":297},"basic-syntax","Basic syntax",[20,300,301,302,304],{},"You define ",[15,303,17],{}," inside a class like this:",[44,306,308],{"className":46,"code":307,"language":48,"meta":49,"style":49},"class Person:\n    def __init__(self, name):\n        self.name = name\n",[15,309,310,319,335],{"__ignoreMap":49},[53,311,312,314,317],{"class":55,"line":56},[53,313,60],{"class":59},[53,315,316],{"class":63}," Person",[53,318,68],{"class":67},[53,320,321,323,325,327,329,331,333],{"class":55,"line":71},[53,322,74],{"class":59},[53,324,78],{"class":77},[53,326,81],{"class":67},[53,328,85],{"class":84},[53,330,88],{"class":67},[53,332,92],{"class":91},[53,334,100],{"class":67},[53,336,337,339,341,343,345],{"class":55,"line":103},[53,338,107],{"class":106},[53,340,110],{"class":67},[53,342,114],{"class":113},[53,344,118],{"class":117},[53,346,122],{"class":121},[20,348,349],{},"Important parts:",[243,351,352,358,363,368],{},[246,353,354,357],{},[15,355,356],{},"def __init__(self, ...):"," defines the initializer.",[246,359,360,361,110],{},"The first parameter is usually ",[15,362,85],{},[246,364,365,367],{},[15,366,85],{}," refers to the specific object being created.",[246,369,370],{},"Extra parameters are values passed in when creating the object.",[20,372,373,374,110],{},"When you want a clearer review of parameters, see ",[264,375,377],{"href":376},"\u002Flearn\u002Ffunction-parameters-and-arguments-in-python","function parameters and arguments in Python",[39,379,381],{"id":380},"how-object-creation-works","How object creation works",[20,383,384],{},"When you create an object, Python does these steps:",[386,387,388,391,394,397],"ol",{},[246,389,390],{},"You write a class definition.",[246,392,393],{},"You create an object by calling the class like a function.",[246,395,396],{},"Python makes the new object.",[246,398,399,400,402,403,110],{},"Python then calls ",[15,401,17],{}," automatically with that object as ",[15,404,85],{},[20,406,407],{},"Example:",[44,409,411],{"className":46,"code":410,"language":48,"meta":49,"style":49},"class Car:\n    def __init__(self, brand):\n        self.brand = brand\n\nmy_car = Car(\"Toyota\")\nprint(my_car.brand)\n",[15,412,413,422,439,453,457,477],{"__ignoreMap":49},[53,414,415,417,420],{"class":55,"line":56},[53,416,60],{"class":59},[53,418,419],{"class":63}," Car",[53,421,68],{"class":67},[53,423,424,426,428,430,432,434,437],{"class":55,"line":71},[53,425,74],{"class":59},[53,427,78],{"class":77},[53,429,81],{"class":67},[53,431,85],{"class":84},[53,433,88],{"class":67},[53,435,436],{"class":91}," brand",[53,438,100],{"class":67},[53,440,441,443,445,448,450],{"class":55,"line":103},[53,442,107],{"class":106},[53,444,110],{"class":67},[53,446,447],{"class":113},"brand",[53,449,118],{"class":117},[53,451,452],{"class":121}," brand\n",[53,454,455],{"class":55,"line":125},[53,456,144],{"emptyLinePlaceholder":143},[53,458,459,462,464,466,468,470,473,475],{"class":55,"line":140},[53,460,461],{"class":121},"my_car ",[53,463,153],{"class":117},[53,465,419],{"class":156},[53,467,81],{"class":67},[53,469,162],{"class":161},[53,471,472],{"class":165},"Toyota",[53,474,162],{"class":161},[53,476,177],{"class":67},[53,478,479,481,483,486,488,490],{"class":55,"line":147},[53,480,183],{"class":77},[53,482,81],{"class":67},[53,484,485],{"class":156},"my_car",[53,487,110],{"class":67},[53,489,447],{"class":113},[53,491,177],{"class":67},[20,493,212],{},[44,495,497],{"className":46,"code":496,"language":48,"meta":49,"style":49},"Toyota\n",[15,498,499],{"__ignoreMap":49},[53,500,501],{"class":55,"line":56},[53,502,496],{"class":121},[20,504,505,506,509,510,110],{},"Even though you wrote ",[15,507,508],{},"Car(\"Toyota\")",", Python automatically passes the new object as ",[15,511,85],{},[20,513,514,515,110],{},"If you want more practice with this step, see ",[264,516,518],{"href":517},"\u002Fhow-to\u002Fhow-to-create-an-object-in-python\u002F","how to create an object in Python",[39,520,522,523],{"id":521},"setting-attributes-with-self","Setting attributes with ",[15,524,85],{},[20,526,527,528,530],{},"Inside ",[15,529,17],{},", you usually save values like this:",[44,532,534],{"className":46,"code":533,"language":48,"meta":49,"style":49},"self.attribute_name = value\n",[15,535,536],{"__ignoreMap":49},[53,537,538,540,542,545,547],{"class":55,"line":56},[53,539,85],{"class":106},[53,541,110],{"class":67},[53,543,544],{"class":113},"attribute_name",[53,546,118],{"class":117},[53,548,549],{"class":121}," value\n",[20,551,552,553,110],{},"These saved values are called ",[554,555,556],"strong",{},"attributes",[20,558,407],{},[44,560,562],{"className":46,"code":561,"language":48,"meta":49,"style":49},"class Book:\n    def __init__(self, title, pages):\n        self.title = title\n        self.pages = pages\n\nmy_book = Book(\"Python Basics\", 200)\n\nprint(my_book.title)\nprint(my_book.pages)\n",[15,563,564,573,595,609,623,627,652,656,671],{"__ignoreMap":49},[53,565,566,568,571],{"class":55,"line":56},[53,567,60],{"class":59},[53,569,570],{"class":63}," Book",[53,572,68],{"class":67},[53,574,575,577,579,581,583,585,588,590,593],{"class":55,"line":71},[53,576,74],{"class":59},[53,578,78],{"class":77},[53,580,81],{"class":67},[53,582,85],{"class":84},[53,584,88],{"class":67},[53,586,587],{"class":91}," title",[53,589,88],{"class":67},[53,591,592],{"class":91}," pages",[53,594,100],{"class":67},[53,596,597,599,601,604,606],{"class":55,"line":103},[53,598,107],{"class":106},[53,600,110],{"class":67},[53,602,603],{"class":113},"title",[53,605,118],{"class":117},[53,607,608],{"class":121}," title\n",[53,610,611,613,615,618,620],{"class":55,"line":125},[53,612,107],{"class":106},[53,614,110],{"class":67},[53,616,617],{"class":113},"pages",[53,619,118],{"class":117},[53,621,622],{"class":121}," pages\n",[53,624,625],{"class":55,"line":140},[53,626,144],{"emptyLinePlaceholder":143},[53,628,629,632,634,636,638,640,643,645,647,650],{"class":55,"line":147},[53,630,631],{"class":121},"my_book ",[53,633,153],{"class":117},[53,635,570],{"class":156},[53,637,81],{"class":67},[53,639,162],{"class":161},[53,641,642],{"class":165},"Python Basics",[53,644,162],{"class":161},[53,646,88],{"class":67},[53,648,649],{"class":173}," 200",[53,651,177],{"class":67},[53,653,654],{"class":55,"line":180},[53,655,144],{"emptyLinePlaceholder":143},[53,657,658,660,662,665,667,669],{"class":55,"line":197},[53,659,183],{"class":77},[53,661,81],{"class":67},[53,663,664],{"class":156},"my_book",[53,666,110],{"class":67},[53,668,603],{"class":113},[53,670,177],{"class":67},[53,672,674,676,678,680,682,684],{"class":55,"line":673},9,[53,675,183],{"class":77},[53,677,81],{"class":67},[53,679,664],{"class":156},[53,681,110],{"class":67},[53,683,617],{"class":113},[53,685,177],{"class":67},[20,687,212],{},[44,689,691],{"className":46,"code":690,"language":48,"meta":49,"style":49},"Python Basics\n200\n",[15,692,693,698],{"__ignoreMap":49},[53,694,695],{"class":55,"line":56},[53,696,697],{"class":121},"Python Basics\n",[53,699,700],{"class":55,"line":71},[53,701,702],{"class":173},"200\n",[20,704,705],{},"Key idea:",[243,707,708,714,720],{},[246,709,710,713],{},[15,711,712],{},"self.title = title"," saves the value on the object.",[246,715,716,719],{},[15,717,718],{},"self.pages = pages"," does the same for pages.",[246,721,722],{},"These attributes can be used later in other methods.",[39,724,726],{"id":725},"example-with-two-objects","Example with two objects",[20,728,729,730,732],{},"A big reason to use ",[15,731,17],{}," is that each object can have its own values.",[44,734,736],{"className":46,"code":735,"language":48,"meta":49,"style":49},"class Dog:\n    def __init__(self, name, age):\n        self.name = name\n        self.age = age\n\ndog1 = Dog(\"Max\", 3)\ndog2 = Dog(\"Bella\", 5)\n\nprint(dog1.name, dog1.age)\nprint(dog2.name, dog2.age)\n",[15,737,738,746,766,778,790,794,817,842,846,870],{"__ignoreMap":49},[53,739,740,742,744],{"class":55,"line":56},[53,741,60],{"class":59},[53,743,64],{"class":63},[53,745,68],{"class":67},[53,747,748,750,752,754,756,758,760,762,764],{"class":55,"line":71},[53,749,74],{"class":59},[53,751,78],{"class":77},[53,753,81],{"class":67},[53,755,85],{"class":84},[53,757,88],{"class":67},[53,759,92],{"class":91},[53,761,88],{"class":67},[53,763,97],{"class":91},[53,765,100],{"class":67},[53,767,768,770,772,774,776],{"class":55,"line":103},[53,769,107],{"class":106},[53,771,110],{"class":67},[53,773,114],{"class":113},[53,775,118],{"class":117},[53,777,122],{"class":121},[53,779,780,782,784,786,788],{"class":55,"line":125},[53,781,107],{"class":106},[53,783,110],{"class":67},[53,785,132],{"class":113},[53,787,118],{"class":117},[53,789,137],{"class":121},[53,791,792],{"class":55,"line":140},[53,793,144],{"emptyLinePlaceholder":143},[53,795,796,799,801,803,805,807,809,811,813,815],{"class":55,"line":147},[53,797,798],{"class":121},"dog1 ",[53,800,153],{"class":117},[53,802,64],{"class":156},[53,804,81],{"class":67},[53,806,162],{"class":161},[53,808,166],{"class":165},[53,810,162],{"class":161},[53,812,88],{"class":67},[53,814,174],{"class":173},[53,816,177],{"class":67},[53,818,819,822,824,826,828,830,833,835,837,840],{"class":55,"line":180},[53,820,821],{"class":121},"dog2 ",[53,823,153],{"class":117},[53,825,64],{"class":156},[53,827,81],{"class":67},[53,829,162],{"class":161},[53,831,832],{"class":165},"Bella",[53,834,162],{"class":161},[53,836,88],{"class":67},[53,838,839],{"class":173}," 5",[53,841,177],{"class":67},[53,843,844],{"class":55,"line":197},[53,845,144],{"emptyLinePlaceholder":143},[53,847,848,850,852,855,857,859,861,864,866,868],{"class":55,"line":673},[53,849,183],{"class":77},[53,851,81],{"class":67},[53,853,854],{"class":156},"dog1",[53,856,110],{"class":67},[53,858,114],{"class":113},[53,860,88],{"class":67},[53,862,863],{"class":156}," dog1",[53,865,110],{"class":67},[53,867,132],{"class":113},[53,869,177],{"class":67},[53,871,873,875,877,880,882,884,886,889,891,893],{"class":55,"line":872},10,[53,874,183],{"class":77},[53,876,81],{"class":67},[53,878,879],{"class":156},"dog2",[53,881,110],{"class":67},[53,883,114],{"class":113},[53,885,88],{"class":67},[53,887,888],{"class":156}," dog2",[53,890,110],{"class":67},[53,892,132],{"class":113},[53,894,177],{"class":67},[20,896,212],{},[44,898,900],{"className":46,"code":899,"language":48,"meta":49,"style":49},"Max 3\nBella 5\n",[15,901,902,909],{"__ignoreMap":49},[53,903,904,907],{"class":55,"line":56},[53,905,906],{"class":121},"Max ",[53,908,227],{"class":173},[53,910,911,914],{"class":55,"line":71},[53,912,913],{"class":121},"Bella ",[53,915,916],{"class":173},"5\n",[20,918,919],{},"Both objects come from the same class, but each one stores different data.",[39,921,923,924],{"id":922},"parameters-in-__init__","Parameters in ",[15,925,17],{},[20,927,928,930],{},[15,929,17],{}," can take zero, one, or many extra parameters.",[932,933,935],"h3",{"id":934},"no-extra-parameters","No extra parameters",[44,937,939],{"className":46,"code":938,"language":48,"meta":49,"style":49},"class Robot:\n    def __init__(self):\n        self.status = \"ready\"\n\nr1 = Robot()\nprint(r1.status)\n",[15,940,941,950,962,982,986,998],{"__ignoreMap":49},[53,942,943,945,948],{"class":55,"line":56},[53,944,60],{"class":59},[53,946,947],{"class":63}," Robot",[53,949,68],{"class":67},[53,951,952,954,956,958,960],{"class":55,"line":71},[53,953,74],{"class":59},[53,955,78],{"class":77},[53,957,81],{"class":67},[53,959,85],{"class":84},[53,961,100],{"class":67},[53,963,964,966,968,971,973,976,979],{"class":55,"line":103},[53,965,107],{"class":106},[53,967,110],{"class":67},[53,969,970],{"class":113},"status",[53,972,118],{"class":117},[53,974,975],{"class":161}," \"",[53,977,978],{"class":165},"ready",[53,980,981],{"class":161},"\"\n",[53,983,984],{"class":55,"line":125},[53,985,144],{"emptyLinePlaceholder":143},[53,987,988,991,993,995],{"class":55,"line":140},[53,989,990],{"class":121},"r1 ",[53,992,153],{"class":117},[53,994,947],{"class":156},[53,996,997],{"class":67},"()\n",[53,999,1000,1002,1004,1007,1009,1011],{"class":55,"line":147},[53,1001,183],{"class":77},[53,1003,81],{"class":67},[53,1005,1006],{"class":156},"r1",[53,1008,110],{"class":67},[53,1010,970],{"class":113},[53,1012,177],{"class":67},[20,1014,212],{},[44,1016,1018],{"className":46,"code":1017,"language":48,"meta":49,"style":49},"ready\n",[15,1019,1020],{"__ignoreMap":49},[53,1021,1022],{"class":55,"line":56},[53,1023,1017],{"class":121},[932,1025,1027],{"id":1026},"one-or-more-required-parameters","One or more required parameters",[44,1029,1031],{"className":46,"code":1030,"language":48,"meta":49,"style":49},"class Student:\n    def __init__(self, name, grade):\n        self.name = name\n        self.grade = grade\n\ns1 = Student(\"Ava\", 8)\nprint(s1.name)\nprint(s1.grade)\n",[15,1032,1033,1042,1063,1075,1089,1093,1118,1133],{"__ignoreMap":49},[53,1034,1035,1037,1040],{"class":55,"line":56},[53,1036,60],{"class":59},[53,1038,1039],{"class":63}," Student",[53,1041,68],{"class":67},[53,1043,1044,1046,1048,1050,1052,1054,1056,1058,1061],{"class":55,"line":71},[53,1045,74],{"class":59},[53,1047,78],{"class":77},[53,1049,81],{"class":67},[53,1051,85],{"class":84},[53,1053,88],{"class":67},[53,1055,92],{"class":91},[53,1057,88],{"class":67},[53,1059,1060],{"class":91}," grade",[53,1062,100],{"class":67},[53,1064,1065,1067,1069,1071,1073],{"class":55,"line":103},[53,1066,107],{"class":106},[53,1068,110],{"class":67},[53,1070,114],{"class":113},[53,1072,118],{"class":117},[53,1074,122],{"class":121},[53,1076,1077,1079,1081,1084,1086],{"class":55,"line":125},[53,1078,107],{"class":106},[53,1080,110],{"class":67},[53,1082,1083],{"class":113},"grade",[53,1085,118],{"class":117},[53,1087,1088],{"class":121}," grade\n",[53,1090,1091],{"class":55,"line":140},[53,1092,144],{"emptyLinePlaceholder":143},[53,1094,1095,1098,1100,1102,1104,1106,1109,1111,1113,1116],{"class":55,"line":147},[53,1096,1097],{"class":121},"s1 ",[53,1099,153],{"class":117},[53,1101,1039],{"class":156},[53,1103,81],{"class":67},[53,1105,162],{"class":161},[53,1107,1108],{"class":165},"Ava",[53,1110,162],{"class":161},[53,1112,88],{"class":67},[53,1114,1115],{"class":173}," 8",[53,1117,177],{"class":67},[53,1119,1120,1122,1124,1127,1129,1131],{"class":55,"line":180},[53,1121,183],{"class":77},[53,1123,81],{"class":67},[53,1125,1126],{"class":156},"s1",[53,1128,110],{"class":67},[53,1130,114],{"class":113},[53,1132,177],{"class":67},[53,1134,1135,1137,1139,1141,1143,1145],{"class":55,"line":197},[53,1136,183],{"class":77},[53,1138,81],{"class":67},[53,1140,1126],{"class":156},[53,1142,110],{"class":67},[53,1144,1083],{"class":113},[53,1146,177],{"class":67},[20,1148,1149,1150,110],{},"If required parameters are missing, Python raises a ",[15,1151,1152],{},"TypeError",[932,1154,1156],{"id":1155},"default-values-for-optional-parameters","Default values for optional parameters",[44,1158,1160],{"className":46,"code":1159,"language":48,"meta":49,"style":49},"class User:\n    def __init__(self, username, active=True):\n        self.username = username\n        self.active = active\n\nuser1 = User(\"sam\")\nuser2 = User(\"lee\", False)\n\nprint(user1.username, user1.active)\nprint(user2.username, user2.active)\n",[15,1161,1162,1171,1199,1213,1227,1231,1251,1276,1280,1304],{"__ignoreMap":49},[53,1163,1164,1166,1169],{"class":55,"line":56},[53,1165,60],{"class":59},[53,1167,1168],{"class":63}," User",[53,1170,68],{"class":67},[53,1172,1173,1175,1177,1179,1181,1183,1186,1188,1191,1193,1197],{"class":55,"line":71},[53,1174,74],{"class":59},[53,1176,78],{"class":77},[53,1178,81],{"class":67},[53,1180,85],{"class":84},[53,1182,88],{"class":67},[53,1184,1185],{"class":91}," username",[53,1187,88],{"class":67},[53,1189,1190],{"class":91}," active",[53,1192,153],{"class":117},[53,1194,1196],{"class":1195},"s39Yj","True",[53,1198,100],{"class":67},[53,1200,1201,1203,1205,1208,1210],{"class":55,"line":103},[53,1202,107],{"class":106},[53,1204,110],{"class":67},[53,1206,1207],{"class":113},"username",[53,1209,118],{"class":117},[53,1211,1212],{"class":121}," username\n",[53,1214,1215,1217,1219,1222,1224],{"class":55,"line":125},[53,1216,107],{"class":106},[53,1218,110],{"class":67},[53,1220,1221],{"class":113},"active",[53,1223,118],{"class":117},[53,1225,1226],{"class":121}," active\n",[53,1228,1229],{"class":55,"line":140},[53,1230,144],{"emptyLinePlaceholder":143},[53,1232,1233,1236,1238,1240,1242,1244,1247,1249],{"class":55,"line":147},[53,1234,1235],{"class":121},"user1 ",[53,1237,153],{"class":117},[53,1239,1168],{"class":156},[53,1241,81],{"class":67},[53,1243,162],{"class":161},[53,1245,1246],{"class":165},"sam",[53,1248,162],{"class":161},[53,1250,177],{"class":67},[53,1252,1253,1256,1258,1260,1262,1264,1267,1269,1271,1274],{"class":55,"line":180},[53,1254,1255],{"class":121},"user2 ",[53,1257,153],{"class":117},[53,1259,1168],{"class":156},[53,1261,81],{"class":67},[53,1263,162],{"class":161},[53,1265,1266],{"class":165},"lee",[53,1268,162],{"class":161},[53,1270,88],{"class":67},[53,1272,1273],{"class":1195}," False",[53,1275,177],{"class":67},[53,1277,1278],{"class":55,"line":197},[53,1279,144],{"emptyLinePlaceholder":143},[53,1281,1282,1284,1286,1289,1291,1293,1295,1298,1300,1302],{"class":55,"line":673},[53,1283,183],{"class":77},[53,1285,81],{"class":67},[53,1287,1288],{"class":156},"user1",[53,1290,110],{"class":67},[53,1292,1207],{"class":113},[53,1294,88],{"class":67},[53,1296,1297],{"class":156}," user1",[53,1299,110],{"class":67},[53,1301,1221],{"class":113},[53,1303,177],{"class":67},[53,1305,1306,1308,1310,1313,1315,1317,1319,1322,1324,1326],{"class":55,"line":872},[53,1307,183],{"class":77},[53,1309,81],{"class":67},[53,1311,1312],{"class":156},"user2",[53,1314,110],{"class":67},[53,1316,1207],{"class":113},[53,1318,88],{"class":67},[53,1320,1321],{"class":156}," user2",[53,1323,110],{"class":67},[53,1325,1221],{"class":113},[53,1327,177],{"class":67},[20,1329,212],{},[44,1331,1333],{"className":46,"code":1332,"language":48,"meta":49,"style":49},"sam True\nlee False\n",[15,1334,1335,1343],{"__ignoreMap":49},[53,1336,1337,1340],{"class":55,"line":56},[53,1338,1339],{"class":121},"sam ",[53,1341,1342],{"class":1195},"True\n",[53,1344,1345,1348],{"class":55,"line":71},[53,1346,1347],{"class":121},"lee ",[53,1349,1350],{"class":1195},"False\n",[20,1352,1353,1354,110],{},"If you see an argument error here, this guide may help: ",[264,1355,1357],{"href":1356},"\u002Ferrors\u002Ftypeerror-missing-required-positional-argument-fix","fix missing required positional argument errors",[39,1359,1361],{"id":1360},"common-beginner-confusion","Common beginner confusion",[20,1363,1364],{},"These points cause a lot of mistakes:",[243,1366,1367,1372,1377,1385,1390],{},[246,1368,1369,1371],{},[15,1370,17],{}," is not usually called directly.",[246,1373,1374,1376],{},[15,1375,85],{}," is passed automatically when creating an object.",[246,1378,1379,1381,1382,110],{},[15,1380,17],{}," must be spelled exactly with two underscores before and after ",[15,1383,1384],{},"init",[246,1386,1387,1389],{},[15,1388,17],{}," does not print the object.",[246,1391,1392,1394],{},[15,1393,17],{}," does not return the object.",[20,1396,1397],{},"For example, this is normal:",[44,1399,1401],{"className":46,"code":1400,"language":48,"meta":49,"style":49},"class Cat:\n    def __init__(self, name):\n        self.name = name\n\nmy_cat = Cat(\"Milo\")\nprint(my_cat.name)\n",[15,1402,1403,1412,1428,1440,1444,1464],{"__ignoreMap":49},[53,1404,1405,1407,1410],{"class":55,"line":56},[53,1406,60],{"class":59},[53,1408,1409],{"class":63}," Cat",[53,1411,68],{"class":67},[53,1413,1414,1416,1418,1420,1422,1424,1426],{"class":55,"line":71},[53,1415,74],{"class":59},[53,1417,78],{"class":77},[53,1419,81],{"class":67},[53,1421,85],{"class":84},[53,1423,88],{"class":67},[53,1425,92],{"class":91},[53,1427,100],{"class":67},[53,1429,1430,1432,1434,1436,1438],{"class":55,"line":103},[53,1431,107],{"class":106},[53,1433,110],{"class":67},[53,1435,114],{"class":113},[53,1437,118],{"class":117},[53,1439,122],{"class":121},[53,1441,1442],{"class":55,"line":125},[53,1443,144],{"emptyLinePlaceholder":143},[53,1445,1446,1449,1451,1453,1455,1457,1460,1462],{"class":55,"line":140},[53,1447,1448],{"class":121},"my_cat ",[53,1450,153],{"class":117},[53,1452,1409],{"class":156},[53,1454,81],{"class":67},[53,1456,162],{"class":161},[53,1458,1459],{"class":165},"Milo",[53,1461,162],{"class":161},[53,1463,177],{"class":67},[53,1465,1466,1468,1470,1473,1475,1477],{"class":55,"line":147},[53,1467,183],{"class":77},[53,1469,81],{"class":67},[53,1471,1472],{"class":156},"my_cat",[53,1474,110],{"class":67},[53,1476,114],{"class":113},[53,1478,177],{"class":67},[20,1480,1481,1482,1485],{},"You do ",[554,1483,1484],{},"not"," usually write something like this:",[44,1487,1489],{"className":46,"code":1488,"language":48,"meta":49,"style":49},"# Not the normal beginner pattern\nmy_cat.__init__(\"Milo\")\n",[15,1490,1491,1497],{"__ignoreMap":49},[53,1492,1493],{"class":55,"line":56},[53,1494,1496],{"class":1495},"sutJx","# Not the normal beginner pattern\n",[53,1498,1499,1501,1503,1505,1507,1509,1511,1513],{"class":55,"line":71},[53,1500,1472],{"class":121},[53,1502,110],{"class":67},[53,1504,17],{"class":77},[53,1506,81],{"class":67},[53,1508,162],{"class":161},[53,1510,1459],{"class":165},[53,1512,162],{"class":161},[53,1514,177],{"class":67},[39,1516,238,1518,1520],{"id":1517},"what-__init__-should-return",[15,1519,17],{}," should return",[20,1522,1523,1525],{},[15,1524,17],{}," should not return a normal value.",[20,1527,1528,1529,1532,1533,1536,1537,110],{},"It should return ",[15,1530,1531],{},"None"," automatically. In most cases, you do not write any ",[15,1534,1535],{},"return"," statement in ",[15,1538,17],{},[20,1540,1541],{},"Correct:",[44,1543,1545],{"className":46,"code":1544,"language":48,"meta":49,"style":49},"class Game:\n    def __init__(self, title):\n        self.title = title\n",[15,1546,1547,1556,1572],{"__ignoreMap":49},[53,1548,1549,1551,1554],{"class":55,"line":56},[53,1550,60],{"class":59},[53,1552,1553],{"class":63}," Game",[53,1555,68],{"class":67},[53,1557,1558,1560,1562,1564,1566,1568,1570],{"class":55,"line":71},[53,1559,74],{"class":59},[53,1561,78],{"class":77},[53,1563,81],{"class":67},[53,1565,85],{"class":84},[53,1567,88],{"class":67},[53,1569,587],{"class":91},[53,1571,100],{"class":67},[53,1573,1574,1576,1578,1580,1582],{"class":55,"line":103},[53,1575,107],{"class":106},[53,1577,110],{"class":67},[53,1579,603],{"class":113},[53,1581,118],{"class":117},[53,1583,608],{"class":121},[20,1585,1586],{},"Wrong:",[44,1588,1590],{"className":46,"code":1589,"language":48,"meta":49,"style":49},"class Game:\n    def __init__(self, title):\n        self.title = title\n        return title\n",[15,1591,1592,1600,1616,1628],{"__ignoreMap":49},[53,1593,1594,1596,1598],{"class":55,"line":56},[53,1595,60],{"class":59},[53,1597,1553],{"class":63},[53,1599,68],{"class":67},[53,1601,1602,1604,1606,1608,1610,1612,1614],{"class":55,"line":71},[53,1603,74],{"class":59},[53,1605,78],{"class":77},[53,1607,81],{"class":67},[53,1609,85],{"class":84},[53,1611,88],{"class":67},[53,1613,587],{"class":91},[53,1615,100],{"class":67},[53,1617,1618,1620,1622,1624,1626],{"class":55,"line":103},[53,1619,107],{"class":106},[53,1621,110],{"class":67},[53,1623,603],{"class":113},[53,1625,118],{"class":117},[53,1627,608],{"class":121},[53,1629,1630,1634],{"class":55,"line":125},[53,1631,1633],{"class":1632},"sVHd0","        return",[53,1635,608],{"class":121},[20,1637,1638,1639,1641],{},"The second example causes an error because ",[15,1640,17],{}," is only for setup. It is not meant to produce output.",[39,1643,1645,1646],{"id":1644},"when-not-to-use-__init__","When not to use ",[15,1647,17],{},[20,1649,1650,1652],{},[15,1651,17],{}," is useful, but it should stay focused on setting up object state.",[20,1654,1655],{},"Avoid these patterns:",[243,1657,1658,1661,1664,1667],{},[246,1659,1660],{},"Do not put unrelated logic there.",[246,1662,1663],{},"Do not make it too long if helper methods would be clearer.",[246,1665,1666],{},"Do not use it when you only need class-level shared data.",[246,1668,1669],{},"Keep it focused on starting values for the object.",[20,1671,1672,1673,110],{},"If you want to add behavior to a class, that usually belongs in normal methods. See ",[264,1674,1676],{"href":1675},"\u002Flearn\u002Fbasic-methods-in-python-classes-explained","basic methods in Python classes",[39,1678,1680],{"id":1679},"common-mistakes","Common mistakes",[20,1682,1683,1684,1686],{},"These are some common causes of problems when using ",[15,1685,17],{},":",[243,1688,1689,1701,1707,1710,1716,1721],{},[246,1690,1691,1692,1694,1695,1698,1699],{},"Misspelling ",[15,1693,17],{}," as ",[15,1696,1697],{},"_init_"," or ",[15,1700,1384],{},[246,1702,1703,1704,1706],{},"Forgetting the ",[15,1705,85],{}," parameter",[246,1708,1709],{},"Forgetting to pass required arguments when creating an object",[246,1711,1712,1713],{},"Using a local variable instead of ",[15,1714,1715],{},"self.attribute",[246,1717,1718,1719],{},"Trying to return a value from ",[15,1720,17],{},[246,1722,1723,1724,1726],{},"Expecting ",[15,1725,17],{}," to run without creating an object",[20,1728,1729],{},"Example of a common mistake:",[44,1731,1733],{"className":46,"code":1732,"language":48,"meta":49,"style":49},"class Dog:\n    def __init__(name, age):\n        self.name = name\n        self.age = age\n",[15,1734,1735,1743,1759,1771],{"__ignoreMap":49},[53,1736,1737,1739,1741],{"class":55,"line":56},[53,1738,60],{"class":59},[53,1740,64],{"class":63},[53,1742,68],{"class":67},[53,1744,1745,1747,1749,1751,1753,1755,1757],{"class":55,"line":71},[53,1746,74],{"class":59},[53,1748,78],{"class":77},[53,1750,81],{"class":67},[53,1752,114],{"class":91},[53,1754,88],{"class":67},[53,1756,97],{"class":91},[53,1758,100],{"class":67},[53,1760,1761,1763,1765,1767,1769],{"class":55,"line":103},[53,1762,107],{"class":106},[53,1764,110],{"class":67},[53,1766,114],{"class":113},[53,1768,118],{"class":117},[53,1770,122],{"class":121},[53,1772,1773,1775,1777,1779,1781],{"class":55,"line":125},[53,1774,107],{"class":106},[53,1776,110],{"class":67},[53,1778,132],{"class":113},[53,1780,118],{"class":117},[53,1782,137],{"class":121},[20,1784,1785,1786,1788],{},"This is wrong because ",[15,1787,85],{}," is missing from the parameter list.",[20,1790,1791],{},"Correct version:",[44,1793,1795],{"className":46,"code":1794,"language":48,"meta":49,"style":49},"class Dog:\n    def __init__(self, name, age):\n        self.name = name\n        self.age = age\n",[15,1796,1797,1805,1825,1837],{"__ignoreMap":49},[53,1798,1799,1801,1803],{"class":55,"line":56},[53,1800,60],{"class":59},[53,1802,64],{"class":63},[53,1804,68],{"class":67},[53,1806,1807,1809,1811,1813,1815,1817,1819,1821,1823],{"class":55,"line":71},[53,1808,74],{"class":59},[53,1810,78],{"class":77},[53,1812,81],{"class":67},[53,1814,85],{"class":84},[53,1816,88],{"class":67},[53,1818,92],{"class":91},[53,1820,88],{"class":67},[53,1822,97],{"class":91},[53,1824,100],{"class":67},[53,1826,1827,1829,1831,1833,1835],{"class":55,"line":103},[53,1828,107],{"class":106},[53,1830,110],{"class":67},[53,1832,114],{"class":113},[53,1834,118],{"class":117},[53,1836,122],{"class":121},[53,1838,1839,1841,1843,1845,1847],{"class":55,"line":125},[53,1840,107],{"class":106},[53,1842,110],{"class":67},[53,1844,132],{"class":113},[53,1846,118],{"class":117},[53,1848,137],{"class":121},[20,1850,1851],{},"Another common mistake:",[44,1853,1855],{"className":46,"code":1854,"language":48,"meta":49,"style":49},"class Dog:\n    def __init__(self, name):\n        name = name\n",[15,1856,1857,1865,1881],{"__ignoreMap":49},[53,1858,1859,1861,1863],{"class":55,"line":56},[53,1860,60],{"class":59},[53,1862,64],{"class":63},[53,1864,68],{"class":67},[53,1866,1867,1869,1871,1873,1875,1877,1879],{"class":55,"line":71},[53,1868,74],{"class":59},[53,1870,78],{"class":77},[53,1872,81],{"class":67},[53,1874,85],{"class":84},[53,1876,88],{"class":67},[53,1878,92],{"class":91},[53,1880,100],{"class":67},[53,1882,1883,1886,1888],{"class":55,"line":103},[53,1884,1885],{"class":121},"        name ",[53,1887,153],{"class":117},[53,1889,122],{"class":121},[20,1891,1892],{},"This does not save the value on the object. It only creates a local variable.",[20,1894,1791],{},[44,1896,1898],{"className":46,"code":1897,"language":48,"meta":49,"style":49},"class Dog:\n    def __init__(self, name):\n        self.name = name\n",[15,1899,1900,1908,1924],{"__ignoreMap":49},[53,1901,1902,1904,1906],{"class":55,"line":56},[53,1903,60],{"class":59},[53,1905,64],{"class":63},[53,1907,68],{"class":67},[53,1909,1910,1912,1914,1916,1918,1920,1922],{"class":55,"line":71},[53,1911,74],{"class":59},[53,1913,78],{"class":77},[53,1915,81],{"class":67},[53,1917,85],{"class":84},[53,1919,88],{"class":67},[53,1921,92],{"class":91},[53,1923,100],{"class":67},[53,1925,1926,1928,1930,1932,1934],{"class":55,"line":103},[53,1927,107],{"class":106},[53,1929,110],{"class":67},[53,1931,114],{"class":113},[53,1933,118],{"class":117},[53,1935,122],{"class":121},[39,1937,1939],{"id":1938},"debugging-tips","Debugging tips",[20,1941,1942],{},"If your object is not behaving as expected, these commands can help:",[44,1944,1946],{"className":46,"code":1945,"language":48,"meta":49,"style":49},"print(type(my_object))\nprint(my_object.__dict__)\nhelp(ClassName)\ndir(my_object)\n",[15,1947,1948,1966,1981,1993],{"__ignoreMap":49},[53,1949,1950,1952,1954,1958,1960,1963],{"class":55,"line":56},[53,1951,183],{"class":77},[53,1953,81],{"class":67},[53,1955,1957],{"class":1956},"sZMiF","type",[53,1959,81],{"class":67},[53,1961,1962],{"class":156},"my_object",[53,1964,1965],{"class":67},"))\n",[53,1967,1968,1970,1972,1974,1976,1979],{"class":55,"line":71},[53,1969,183],{"class":77},[53,1971,81],{"class":67},[53,1973,1962],{"class":156},[53,1975,110],{"class":67},[53,1977,1978],{"class":106},"__dict__",[53,1980,177],{"class":67},[53,1982,1983,1986,1988,1991],{"class":55,"line":103},[53,1984,1985],{"class":77},"help",[53,1987,81],{"class":67},[53,1989,1990],{"class":156},"ClassName",[53,1992,177],{"class":67},[53,1994,1995,1998,2000,2002],{"class":55,"line":125},[53,1996,1997],{"class":77},"dir",[53,1999,81],{"class":67},[53,2001,1962],{"class":156},[53,2003,177],{"class":67},[20,2005,2006],{},"What they do:",[243,2008,2009,2015,2021,2027],{},[246,2010,2011,2014],{},[15,2012,2013],{},"print(type(my_object))"," shows what class the object belongs to.",[246,2016,2017,2020],{},[15,2018,2019],{},"print(my_object.__dict__)"," shows the attributes stored on the object.",[246,2022,2023,2026],{},[15,2024,2025],{},"help(ClassName)"," shows information about the class and its methods.",[246,2028,2029,2032],{},[15,2030,2031],{},"dir(my_object)"," lists available attributes and methods.",[20,2034,407],{},[44,2036,2038],{"className":46,"code":2037,"language":48,"meta":49,"style":49},"class Dog:\n    def __init__(self, name, age):\n        self.name = name\n        self.age = age\n\nmy_dog = Dog(\"Max\", 3)\n\nprint(type(my_dog))\nprint(my_dog.__dict__)\n",[15,2039,2040,2048,2068,2080,2092,2096,2118,2122,2136],{"__ignoreMap":49},[53,2041,2042,2044,2046],{"class":55,"line":56},[53,2043,60],{"class":59},[53,2045,64],{"class":63},[53,2047,68],{"class":67},[53,2049,2050,2052,2054,2056,2058,2060,2062,2064,2066],{"class":55,"line":71},[53,2051,74],{"class":59},[53,2053,78],{"class":77},[53,2055,81],{"class":67},[53,2057,85],{"class":84},[53,2059,88],{"class":67},[53,2061,92],{"class":91},[53,2063,88],{"class":67},[53,2065,97],{"class":91},[53,2067,100],{"class":67},[53,2069,2070,2072,2074,2076,2078],{"class":55,"line":103},[53,2071,107],{"class":106},[53,2073,110],{"class":67},[53,2075,114],{"class":113},[53,2077,118],{"class":117},[53,2079,122],{"class":121},[53,2081,2082,2084,2086,2088,2090],{"class":55,"line":125},[53,2083,107],{"class":106},[53,2085,110],{"class":67},[53,2087,132],{"class":113},[53,2089,118],{"class":117},[53,2091,137],{"class":121},[53,2093,2094],{"class":55,"line":140},[53,2095,144],{"emptyLinePlaceholder":143},[53,2097,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116],{"class":55,"line":147},[53,2099,150],{"class":121},[53,2101,153],{"class":117},[53,2103,64],{"class":156},[53,2105,81],{"class":67},[53,2107,162],{"class":161},[53,2109,166],{"class":165},[53,2111,162],{"class":161},[53,2113,88],{"class":67},[53,2115,174],{"class":173},[53,2117,177],{"class":67},[53,2119,2120],{"class":55,"line":180},[53,2121,144],{"emptyLinePlaceholder":143},[53,2123,2124,2126,2128,2130,2132,2134],{"class":55,"line":197},[53,2125,183],{"class":77},[53,2127,81],{"class":67},[53,2129,1957],{"class":1956},[53,2131,81],{"class":67},[53,2133,188],{"class":156},[53,2135,1965],{"class":67},[53,2137,2138,2140,2142,2144,2146,2148],{"class":55,"line":673},[53,2139,183],{"class":77},[53,2141,81],{"class":67},[53,2143,188],{"class":156},[53,2145,110],{"class":67},[53,2147,1978],{"class":106},[53,2149,177],{"class":67},[20,2151,2152],{},"Possible output:",[44,2154,2156],{"className":46,"code":2155,"language":48,"meta":49,"style":49},"\u003Cclass '__main__.Dog'>\n{'name': 'Max', 'age': 3}\n",[15,2157,2158,2177],{"__ignoreMap":49},[53,2159,2160,2163,2165,2168,2171,2174],{"class":55,"line":56},[53,2161,2162],{"class":117},"\u003C",[53,2164,60],{"class":59},[53,2166,2167],{"class":161}," '",[53,2169,2170],{"class":165},"__main__.Dog",[53,2172,2173],{"class":161},"'",[53,2175,2176],{"class":117},">\n",[53,2178,2179,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208],{"class":55,"line":71},[53,2180,2181],{"class":67},"{",[53,2183,2173],{"class":161},[53,2185,114],{"class":165},[53,2187,2173],{"class":161},[53,2189,1686],{"class":67},[53,2191,2167],{"class":161},[53,2193,166],{"class":165},[53,2195,2173],{"class":161},[53,2197,88],{"class":67},[53,2199,2167],{"class":161},[53,2201,132],{"class":165},[53,2203,2173],{"class":161},[53,2205,1686],{"class":67},[53,2207,174],{"class":173},[53,2209,2210],{"class":67},"}\n",[39,2212,2214],{"id":2213},"faq","FAQ",[932,2216,2218,2219,2221],{"id":2217},"is-__init__-required-in-every-class","Is ",[15,2220,17],{}," required in every class?",[20,2223,2224],{},"No. You only need it when your object needs setup or starting values.",[932,2226,2228,2229,2231],{"id":2227},"does-__init__-create-the-object","Does ",[15,2230,17],{}," create the object?",[20,2233,2234,2235,2237],{},"No. Python creates the object first, then ",[15,2236,17],{}," initializes it.",[932,2239,2241,2242,2244,2245,2247],{"id":2240},"why-do-we-use-self-in-__init__","Why do we use ",[15,2243,85],{}," in ",[15,2246,17],{},"?",[20,2249,2250,2252],{},[15,2251,85],{}," refers to the current object, so you can store values on that specific object.",[932,2254,2256,2257,2259],{"id":2255},"can-__init__-have-default-values","Can ",[15,2258,17],{}," have default values?",[20,2261,2262],{},"Yes. You can give parameters default values just like in normal functions.",[932,2264,2266,2267,2247],{"id":2265},"can-a-class-work-without-__init__","Can a class work without ",[15,2268,17],{},[20,2270,2271],{},"Yes. But objects from that class will not get automatic setup unless you add it.",[39,2273,2275],{"id":2274},"see-also","See also",[243,2277,2278,2283,2289,2295],{},[246,2279,2280],{},[264,2281,2282],{"href":266},"Python classes and objects explained",[246,2284,2285],{},[264,2286,2288],{"href":2287},"\u002Flearn\u002Fobject-oriented-programming-in-python-explained","Object-oriented programming in Python explained",[246,2290,2291],{},[264,2292,2294],{"href":2293},"\u002Fhow-to\u002Fhow-to-create-a-class-in-python\u002F","How to create a class in Python",[246,2296,2297],{},[264,2298,2300],{"href":2299},"\u002Fglossary\u002Fwhat-is-an-object-in-python","What is an object in Python?",[20,2302,2303,2304,2306],{},"Once you understand ",[15,2305,17],{},", the next good step is building a simple class of your own and creating a few objects with different starting values.",[2308,2309,2310],"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 .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .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}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--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 .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--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 .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 .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--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 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 .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":49,"searchDepth":71,"depth":71,"links":2312},[2313,2314,2316,2318,2319,2320,2322,2323,2329,2330,2332,2334,2335,2336,2348],{"id":41,"depth":71,"text":42},{"id":237,"depth":71,"text":2315},"What __init__ is",{"id":270,"depth":71,"text":2317},"Why __init__ is useful",{"id":297,"depth":71,"text":298},{"id":380,"depth":71,"text":381},{"id":521,"depth":71,"text":2321},"Setting attributes with self",{"id":725,"depth":71,"text":726},{"id":922,"depth":71,"text":2324,"children":2325},"Parameters in __init__",[2326,2327,2328],{"id":934,"depth":103,"text":935},{"id":1026,"depth":103,"text":1027},{"id":1155,"depth":103,"text":1156},{"id":1360,"depth":71,"text":1361},{"id":1517,"depth":71,"text":2331},"What __init__ should return",{"id":1644,"depth":71,"text":2333},"When not to use __init__",{"id":1679,"depth":71,"text":1680},{"id":1938,"depth":71,"text":1939},{"id":2213,"depth":71,"text":2214,"children":2337},[2338,2340,2342,2344,2346],{"id":2217,"depth":103,"text":2339},"Is __init__ required in every class?",{"id":2227,"depth":103,"text":2341},"Does __init__ create the object?",{"id":2240,"depth":103,"text":2343},"Why do we use self in __init__?",{"id":2255,"depth":103,"text":2345},"Can __init__ have default values?",{"id":2265,"depth":103,"text":2347},"Can a class work without __init__?",{"id":2274,"depth":71,"text":2275},"Master the __init__ method in python explained in our comprehensive Python beginner guide.","md",{},"\u002Flearn\u002Fthe-__init__-method-in-python-explained",{"title":5,"description":2349},"learn\u002Fthe-__init__-method-in-python-explained","Lx1b5nOnpymA1BLjakSFfykxioVA3Uvqby0sr3wi8M0",1777585498964]