{"id":21526,"date":"2020-08-22T04:43:07","date_gmt":"2020-08-22T11:43:07","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=21526"},"modified":"2023-12-01T03:58:41","modified_gmt":"2023-12-01T11:58:41","slug":"python-typeerror-nonetype-object-has-no-attribute-append","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/","title":{"rendered":"Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 Solution"},"content":{"rendered":"\n<p>The Python <code>append()<\/code> method returns a None value. This is because appending an item to a list updates an existing list. It does not create a new one.<br><\/p>\n\n\n\n<p>If you try to assign the result of the <a href=\"https:\/\/careerkarma.com\/blog\/python-append-to-list\/\">append() method<\/a> to a variable, you encounter a \u201cTypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019\u201d error.<br><\/p>\n\n\n\n<p>In this guide, we talk about what this error means, why it is raised, and how you can solve it, with reference to an example.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019<\/h2>\n\n\n\n<p>In Python, it is a convention that methods that change sequences return None. The reason for this is because returning a new copy of the list would be suboptimal from a performance perspective when the existing list can just be changed.<br><\/p>\n\n\n\n<p>Because <code>append()<\/code> does not create a new list, it is clear that the method will mutate an existing list. This prevents you from adding an item to an existing list by accident.<br><\/p>\n\n\n\n<p>A common mistake coders make is to assign the result of the <code>append()<\/code> method to a new list. This does not work because <code>append()<\/code> changes an existing list. <code>append()<\/code> does not generate a new list to which you can assign to a variable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An Example Scenario<\/h2>\n\n\n\n<p>Next, we build a program that lets a librarian add a book to a <a href=\"https:\/\/careerkarma.com\/blog\/python-array\/\">list of records<\/a>. This list of records contains information about the author of a book and how many copies are available.<br><\/p>\n\n\n\n<p>Let\u2019s start by defining a list of books:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>books = [\n\t{ &quot;title&quot;: &quot;The Great Gatsby&quot;, &quot;available&quot;: 3 }\n]<\/pre><\/div>\n\n\n\n<p>The books list contains one dictionary. A dictionary stores information about a specific book.&nbsp; We add one record to this list of books:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>books = books.append(\n\t{ &quot;title&quot;: &quot;Twilight&quot;, &quot;available&quot;: 2 }\n)<\/pre><\/div>\n\n\n\n<p>Our \u201cbooks\u201d list now contains two records. Next, we <a href=\"https:\/\/careerkarma.com\/blog\/python-input\/\">ask the user for information about a book<\/a> they want to add to the list:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>title = input(&quot;Enter the title of the book: &quot;)\navailable = input(&quot;Enter how many copies of the book are available: &quot;)<\/pre><\/div>\n\n\n\n<p>Now that we have this information, we can proceed to add a record to our list of books. We can do this using the append() method:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>books = books.append(\n\t{ &quot;title&quot;: title, &quot;available&quot;: int(available) }\n)<\/pre><\/div>\n\n\n\n<p>We\u2019ve added a new dictionary to the \u201cbooks\u201d list. We have converted the value of \u201cavailable\u201d to an integer in our dictionary. We assign the result of the <code>append()<\/code> method to the \u201cbooks\u201d <a href=\"https:\/\/careerkarma.com\/blog\/python-variables\/\">variable<\/a>. Finally, we print the new list of books to the console:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>print(books)<\/pre><\/div>\n\n\n\n<p>Let\u2019s run our code and see what happens:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Enter the title of the book: Pride and Prejudice\nEnter how many copies of the book are available: 5\nTraceback (most recent call last):\n  File &quot;main.py&quot;, line 12, in &lt;module&gt;\n\tbooks = books.append(\nAttributeError: 'NoneType' object has no attribute 'append'<\/pre><\/div>\n\n\n\n<p>Our code successfully asks us to enter information about a book. When our code tries to add the book to our list of books, an error is returned.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution<\/h2>\n\n\n\n<p>Our code returns an error because we\u2019ve assigned the result of an <code>append()<\/code> method to a variable. Take a look at the code that adds <em>Twilight<\/em> to our list of books:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>books = books.append(\n\t{ &quot;title&quot;: &quot;Twilight&quot;, &quot;available&quot;: 2 }\n)<\/pre><\/div>\n\n\n\n<p>This code changes the value of \u201cbooks\u201d to the value returned by the <code>append()<\/code> method. <code>append()<\/code> returns a None value. This means that \u201cbooks\u201d becomes equal to None.<br><\/p>\n\n\n\n<p>When we try to append the book a user has written about in the console to the \u201cbooks\u201d list, our code returns an error. \u201cbooks\u201d is equal to None and you cannot add a value to a None value.<br><\/p>\n\n\n\n<p>To solve this error, we have to remove the assignment operator from everywhere that we use the <code>append()<\/code> method:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>books.append(\n\t{ &quot;title&quot;: &quot;Twilight&quot;, &quot;available&quot;: 2 }\n)\n\n\u2026\n\nbooks.append(\n\t{ &quot;title&quot;: title, &quot;available&quot;: int(available) }\n)<\/pre><\/div>\n\n\n\n<p>We\u2019ve removed the \u201cbooks = \u201d statement from each of these lines of code. When we use the <code>append()<\/code> method, a dictionary is added to books. We don\u2019t assign the value of \u201cbooks\u201d to the value that <code>append()<\/code> returns.<br><\/p>\n\n\n\n<p>Let\u2019s run our code again:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Enter the title of the book: Pride and Prejudice\nEnter how many copies of the book are available: 5\n[{'title': 'The Great Gatsby', 'available': 3}, {'title': 'Twilight', 'available': 2}, {'title': 'Pride and Prejudice', 'available': 5}]<\/pre><\/div>\n\n\n\n<p>Our code successfully <a href=\"https:\/\/careerkarma.com\/blog\/python-add-to-dictionary\/\">adds a dictionary entry<\/a> for the book <em>Pride and Prejudice<\/em> to our list of books.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The \u201cTypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019\u201d error is returned when you use the assignment operator with the <code>append()<\/code> method.<br><\/p>\n\n\n\n<p>To solve this error, make sure you do not try to assign the result of the <code>append()<\/code> method to a list. The <code>append()<\/code> method adds an item to an existing list. The method returns None, not a copy of an existing list.<br><\/p>\n\n\n\n<p>Now you\u2019re ready to solve this common Python problem like a professional!<\/p>\n","protected":false},"excerpt":{"rendered":"The Python append() method returns a None value. This is because appending an item to a list updates an existing list. It does not create a new one. If you try to assign the result of the append() method to a variable, you encounter a \u201cTypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019\u201d error. In this&hellip;","protected":false},"author":240,"featured_media":21528,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-21526","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-python"},"acf":{"post_sub_title":"","sprint_id":"","query_class":"Python","school_sft":"","parent_sft":"","school_privacy_policy":"","has_review":null,"is_sponser_post":"","is_guest_post":[]},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 | Career Karma<\/title>\n<meta name=\"description\" content=\"On Career Karma, learn about the Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019, how the error works, and how to solve the error.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 Solution\" \/>\n<meta property=\"og:description\" content=\"On Career Karma, learn about the Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019, how the error works, and how to solve the error.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/\" \/>\n<meta property=\"og:site_name\" content=\"Career Karma\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/careerkarmaapp\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-22T11:43:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T11:58:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"635\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"James Gallagher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@career_karma\" \/>\n<meta name=\"twitter:site\" content=\"@career_karma\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James Gallagher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 Solution\",\"datePublished\":\"2020-08-22T11:43:07+00:00\",\"dateModified\":\"2023-12-01T11:58:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/\"},\"wordCount\":659,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/\",\"name\":\"TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 | Career Karma\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg\",\"datePublished\":\"2020-08-22T11:43:07+00:00\",\"dateModified\":\"2023-12-01T11:58:41+00:00\",\"author\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"On Career Karma, learn about the Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019, how the error works, and how to solve the error.\",\"breadcrumb\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg\",\"width\":1020,\"height\":635},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/careerkarma.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/careerkarma.com\/blog\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 Solution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\",\"url\":\"https:\/\/careerkarma.com\/blog\/\",\"name\":\"Career Karma\",\"description\":\"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/careerkarma.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\",\"name\":\"James Gallagher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg\",\"caption\":\"James Gallagher\"},\"description\":\"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.\",\"url\":\"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 | Career Karma","description":"On Career Karma, learn about the Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019, how the error works, and how to solve the error.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/","og_locale":"en_US","og_type":"article","og_title":"Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 Solution","og_description":"On Career Karma, learn about the Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019, how the error works, and how to solve the error.","og_url":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-08-22T11:43:07+00:00","article_modified_time":"2023-12-01T11:58:41+00:00","og_image":[{"width":1020,"height":635,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg","type":"image\/jpeg"}],"author":"James Gallagher","twitter_card":"summary_large_image","twitter_creator":"@career_karma","twitter_site":"@career_karma","twitter_misc":{"Written by":"James Gallagher","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 Solution","datePublished":"2020-08-22T11:43:07+00:00","dateModified":"2023-12-01T11:58:41+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/"},"wordCount":659,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/","url":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/","name":"TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg","datePublished":"2020-08-22T11:43:07+00:00","dateModified":"2023-12-01T11:58:41+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"On Career Karma, learn about the Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019, how the error works, and how to solve the error.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/alex-knight-j4uuKnN43_M-unsplash.jpg","width":1020,"height":635},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-nonetype-object-has-no-attribute-append\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/careerkarma.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/careerkarma.com\/blog\/python\/"},{"@type":"ListItem","position":3,"name":"Python TypeError: \u2018NoneType\u2019 object has no attribute \u2018append\u2019 Solution"}]},{"@type":"WebSite","@id":"https:\/\/careerkarma.com\/blog\/#website","url":"https:\/\/careerkarma.com\/blog\/","name":"Career Karma","description":"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/careerkarma.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94","name":"James Gallagher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","caption":"James Gallagher"},"description":"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.","url":"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/"}]}},"_links":{"self":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/21526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/comments?post=21526"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/21526\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/21528"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=21526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=21526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=21526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}