{"id":21847,"date":"2020-08-28T11:35:25","date_gmt":"2020-08-28T18:35:25","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=21847"},"modified":"2023-12-01T03:58:54","modified_gmt":"2023-12-01T11:58:54","slug":"python-typeerror-can-only-join-an-iterable","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/","title":{"rendered":"Python TypeError: can only join an iterable Solution"},"content":{"rendered":"\n<p><a href=\"https:\/\/careerkarma.com\/blog\/python-join\/\">The join() method<\/a> lets you transform an iterable object such as a list into a string. It is the opposite of the <a href=\"https:\/\/careerkarma.com\/blog\/python-split\/\">split() method<\/a>. If you try to use this method to join a value that is not an iterable object into a list, you&#8217;ll encounter the &#8220;TypeError: can only join an iterable&#8221; error.<br><\/p>\n\n\n\n<p>In this guide, we&#8217;re going to talk about what this error means and how it works. We&#8217;ll walk through an example of this list to help you learn how it works.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TypeError: can only join an iterable<\/h2>\n\n\n\n<p>Let&#8217;s take a look at our error message: TypeError: can only join an iterable.<br><\/p>\n\n\n\n<p>TypeErrors are raised when you try to perform an operation on a value whose data type does not support that operation. The message after the error type tells us that we&#8217;re trying to join a value that is not an iterable object.<br><\/p>\n\n\n\n<p>The join() method only lets you join iterables like a <a href=\"https:\/\/careerkarma.com\/blog\/python-array\/\">list<\/a> or a <a href=\"https:\/\/careerkarma.com\/blog\/python-tuples\/\">tuple<\/a>. This is because the join method traverses through every item in a sequence and adds them to a string. If a value is not iterable, this process cannot occur.<br><\/p>\n\n\n\n<p>This error is common when you try to join a value that is equal to None.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An Example Scenario<\/h2>\n\n\n\n<p>Let&#8217;s build a program for a cheesemonger that orders a list of cheeses. We&#8217;ll ask a user whether they want the cheeses ordered in ascending or descending order. To start, let&#8217;s define a list of cheeses:<br><\/p>\n\n\n\n<p><code>cheeses = [\"Parmesan\", \"English Cheddar\", \"Feta\", \"Roquefort\", \"Brie\"]<br><\/code><\/p>\n\n\n\n<p>Next, we&#8217;re going to ask the user for the order in which they want the cheese list to appear:<br><\/p>\n\n\n\n<p><code>order = input(\"Do you want the cheeses to appear in ascending (ASC) or descending (DESC) order? \")<br><\/code><\/p>\n\n\n\n<p>We&#8217;re going to use an <a href=\"https:\/\/careerkarma.com\/blog\/python-if-else\/\">&#8220;if&#8221; statement<\/a> to translate the answer a user inserts into a boolean:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>if order == &quot;ASC&quot;:\n\treverse = False\nelse:\n\treverse = True\n<\/pre><\/div>\n\n\n\n<p>If a user inserts the value &#8220;ASC&#8221;, the list will be sorted in ascending order. Otherwise, the list will be sorted in reverse order.<br><\/p>\n\n\n\n<p>Next, we&#8217;re going to use the <a href=\"https:\/\/careerkarma.com\/blog\/python-sort\/\">sort() method<\/a> to sort our list:<br><\/p>\n\n\n\n<p><code>cheeses = cheeses.sort(reverse=reverse)<br><\/code><\/p>\n\n\n\n<p>We refer to the &#8220;reverse&#8221; variable we defined earlier. This lets us tell the sort() method whether we want our cheeses to be sorted in ascending or descending order.<br><\/p>\n\n\n\n<p>Now that we&#8217;ve sorted our cheeses, we are going to join them into a string and print them to the console:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>new_cheeses = &quot;, &quot;.join(cheeses)\nprint(&quot;Your sorted cheeses are: &quot; + new_cheeses)\n<\/pre><\/div>\n\n\n\n<p>The join() method joins all the cheeses from the &#8220;cheeses&#8221; list into a string. Each cheese will be separated by a space and a comma. We enclosed these characters in quotation marks in our code before we called the join() method.<br><\/p>\n\n\n\n<p>Let&#8217;s execute our program:<br><\/p>\n\n\n\n<p>Do you want the cheeses to appear in ascending (ASC) or descending (DESC) order? ASC<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Do you want the cheeses to appear in ascending (ASC) or descending (DESC) order? ASC\nTraceback (most recent call last):\n  File &quot;main.py&quot;, line 12, in &lt;module&gt;\n\tnew_cheeses = &quot; &quot;.join(cheeses)\nTypeError: can only join an iterable\n<\/pre><\/div>\n\n\n\n<p>Our code returns an error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution<\/h2>\n\n\n\n<p>Our code asks the user for the order in which the list of cheeses should appear. Our code stops working on line 12. This is where we join our cheeses list into a string.<br><\/p>\n\n\n\n<p>The problem is that the value of &#8220;cheeses&#8221; becomes equal to None in our code. This is because we&#8217;ve assigned the value of the sort() method to a new variable.<br><\/p>\n\n\n\n<p>The sort() method sorts a list in-place. It alters an existing list. The sort() method does not return a new list. This means that when we assign the value of cheeses.sort(reverse=reverse) to a <a href=\"https:\/\/careerkarma.com\/blog\/python-variables\/\">variable<\/a>, the value of that variable becomes None.<br><\/p>\n\n\n\n<p>To solve this problem, we&#8217;ve got to remove the variable declaration on the line of code where we sort our cheeses:<br><\/p>\n\n\n\n<p><code>cheeses.sort(reverse=reverse)<br><\/code><\/p>\n\n\n\n<p>This code will sort our list of cheeses. The value of &#8220;cheeses&#8221; will be equal to the sorted list rather than None. Let&#8217;s run our code and see what happens:<br><\/p>\n\n\n\n<p><code>Do you want the cheeses to appear in ascending (ASC) or descending (DESC) order? ASC<\/code><\/p>\n\n\n\n<p>Your sorted cheeses are: Brie, English Cheddar, Feta, Parmesan, Roquefort<br><\/p>\n\n\n\n<p>Our code successfully returns a sorted list of cheeses. Let&#8217;s try to sort our cheeses in descending order:<br><\/p>\n\n\n\n<p><code>Do you want the cheeses to appear in ascending (ASC) or descending (DESC) order? DESC<\/code><\/p>\n\n\n\n<p>Your sorted cheeses are: Roquefort, Parmesan, Feta, English Cheddar, Brie<br><\/p>\n\n\n\n<p>Our code is capable of sorting our lists both in ascending and descending order.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The &#8220;TypeError: can only join an iterable&#8221; error is caused when you try to join a value that is not iterable to a string.<br><\/p>\n\n\n\n<p>This can happen if you assign the value of a built-in list method such as sort() to a new variable and try to join the result of that operation to a string. You can fix this error by ensuring that the value that you try to join into a string is an iterable, like a list or a tuple.<br><\/p>\n\n\n\n<p>Now you&#8217;re ready to solve this error in your code like a professional!<br><\/p>\n","protected":false},"excerpt":{"rendered":"The join() method lets you transform an iterable object such as a list into a string. It is the opposite of the split() method. If you try to use this method to join a value that is not an iterable object into a list, you'll encounter the \"TypeError: can only join an iterable\" error. In&hellip;","protected":false},"author":240,"featured_media":21277,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-21847","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>Python TypeError: can only join an iterable Solution | Career Karma<\/title>\n<meta name=\"description\" content=\"The Python TypeError: can only join an iterable error is raised when you try to use the join() method with a non-iterable object. On Career Karma, learn how to fix this 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-can-only-join-an-iterable\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python TypeError: can only join an iterable Solution\" \/>\n<meta property=\"og:description\" content=\"The Python TypeError: can only join an iterable error is raised when you try to use the join() method with a non-iterable object. On Career Karma, learn how to fix this error.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/\" \/>\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-28T18:35:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T11:58:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"699\" \/>\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-can-only-join-an-iterable\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python TypeError: can only join an iterable Solution\",\"datePublished\":\"2020-08-28T18:35:25+00:00\",\"dateModified\":\"2023-12-01T11:58:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/\"},\"wordCount\":767,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/\",\"name\":\"Python TypeError: can only join an iterable Solution | Career Karma\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg\",\"datePublished\":\"2020-08-28T18:35:25+00:00\",\"dateModified\":\"2023-12-01T11:58:54+00:00\",\"author\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"The Python TypeError: can only join an iterable error is raised when you try to use the join() method with a non-iterable object. On Career Karma, learn how to fix this error.\",\"breadcrumb\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg\",\"width\":1020,\"height\":699},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#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: can only join an iterable 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":"Python TypeError: can only join an iterable Solution | Career Karma","description":"The Python TypeError: can only join an iterable error is raised when you try to use the join() method with a non-iterable object. On Career Karma, learn how to fix this 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-can-only-join-an-iterable\/","og_locale":"en_US","og_type":"article","og_title":"Python TypeError: can only join an iterable Solution","og_description":"The Python TypeError: can only join an iterable error is raised when you try to use the join() method with a non-iterable object. On Career Karma, learn how to fix this error.","og_url":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-08-28T18:35:25+00:00","article_modified_time":"2023-12-01T11:58:54+00:00","og_image":[{"width":1020,"height":699,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-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-can-only-join-an-iterable\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python TypeError: can only join an iterable Solution","datePublished":"2020-08-28T18:35:25+00:00","dateModified":"2023-12-01T11:58:54+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/"},"wordCount":767,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/","url":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/","name":"Python TypeError: can only join an iterable Solution | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg","datePublished":"2020-08-28T18:35:25+00:00","dateModified":"2023-12-01T11:58:54+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"The Python TypeError: can only join an iterable error is raised when you try to use the join() method with a non-iterable object. On Career Karma, learn how to fix this error.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nikita-kachanovsky-OVbeSXRk_9E-unsplash.jpg","width":1020,"height":699},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-typeerror-can-only-join-an-iterable\/#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: can only join an iterable 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\/21847","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=21847"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/21847\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/21277"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=21847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=21847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=21847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}