{"id":20709,"date":"2020-08-02T22:45:53","date_gmt":"2020-08-03T05:45:53","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=20709"},"modified":"2023-12-01T03:57:18","modified_gmt":"2023-12-01T11:57:18","slug":"python-positional-argument-follows-keyword-argument","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/","title":{"rendered":"Python positional argument follows keyword argument Solution"},"content":{"rendered":"\n<p>In <a href=\"https:\/\/careerkarma.com\/blog\/python-projects-beginners\/\">Python<\/a>, there are two types of arguments: positional and keyword <a href=\"https:\/\/careerkarma.com\/blog\/python-args-kwargs\/\">arguments<\/a>. These arguments must appear in a particular order otherwise the Python interpreter returns an error.<br><\/p>\n\n\n\n<p>In this guide, we\u2019re going to talk about the \u201cpositional argument follows keyword argument\u201d error and why it is raised. We\u2019ll look at an example code snippet with this error so that we can walk through how to solve it.<br><\/p>\n\n\n\n<p>Let\u2019s get started!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Problem: positional argument follows keyword argument<\/h2>\n\n\n\n<p>Let\u2019s take a look at our full error:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>SyntaxError: positional argument follows keyword argument<\/pre><\/div>\n\n\n\n<p>Like the English language, programming languages have their own rules. These rules are referred to as syntax. Our error is a syntax error which means that we have failed to follow one of the rules that governs how to write a Python code.<br><\/p>\n\n\n\n<p>The next part of our error tells us what is causing this error. In this case, our code must have a positional argument that appears after a keyword argument.<br><\/p>\n\n\n\n<p><a href=\"https:\/\/careerkarma.com\/blog\/python-functions\/\">Positional arguments are arguments<\/a> that appear in their respective positions: <\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def add_numbers(a, b):\n\treturn a + b\n\nLet's call this function:\n\nadd_numbers(2, 3)<\/pre><\/div>\n\n\n\n<p>\u201ca\u201d and \u201cb\u201d become <a href=\"https:\/\/careerkarma.com\/blog\/python-variables\/\">variables<\/a> inside our function. This code works because we have specified two positional arguments. \u201ca\u201d is equal to 2 and \u201cb\u201d is equal to three. We can also specify these arguments as keyword arguments:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>add_numbers(a=2, b=2)<\/pre><\/div>\n\n\n\n<p>However, we cannot specify a positional argument first and then switch to the keyword syntax.<br><\/p>\n\n\n\n<p>This is because Python has a special function called *args which processes multiple arguments in a function. Consider this code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def show_users(a, b, *args):\n\tprint(a, b, *args)<\/pre><\/div>\n\n\n\n<p>This code uses *args. This keyword represents a variable number of arguments. We can pass in as many arguments to our <code>show_users()<\/code> function as we want:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>show_users(&quot;Alex&quot;, &quot;Peter&quot;, &quot;Violet', &quot;Julie&quot;)<\/pre><\/div>\n\n\n\n<p>Our code returns: Alex Peter Violet Julie<br><\/p>\n\n\n\n<p>Our first two arguments, \u201ca\u201d and \u201cb\u201d, have the values \u201cAlex\u201d and \u201cPeter\u201d, respectively.<br><\/p>\n\n\n\n<p>This is because if you use positional syntax, arguments are assigned in the order in which they are passed. The last arguments appear in the order that they are stated because *args represents an unknown amount of additional arguments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An Example Scenario<\/h2>\n\n\n\n<p>Let\u2019s take a look at a code snippet that experiences this error:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def print_menu(salads, pizzas):\n\tprint(&quot;Salad Menu&quot;)\n\tfor s in salads:\n\t\tprint(s)\n\tprint(&quot;&quot;)\n\tprint(&quot;Pizza Menu&quot;)\n\tfor p in pizzas:\n\t\tprint(p)<\/pre><\/div>\n\n\n\n<p>This <a href=\"https:\/\/careerkarma.com\/blog\/python-functions\/\">function<\/a> accepts two arguments: salads and pizzas. Our function prints out each salad on the salad menu and each pizza on the pizza menu to the console.<br><\/p>\n\n\n\n<p>Let\u2019s call our function:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>salads = [&quot;Tuna Salad&quot;, &quot;Lettuce and Mango Salad&quot;, &quot;Greek Salad&quot;]\npizzas = [&quot;Veggie Supreme&quot;, &quot;Ham and Pineapple&quot;, &quot;BBQ Chicken&quot;]\n\nprint_menu(pizzas=pizzas, salads)<\/pre><\/div>\n\n\n\n<p>Our code returns:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>File &quot;main.py&quot;, line 13\n\tprint_menu(pizzas=pizzas, salads)\n                          \t^\nSyntaxError: positional argument follows keyword argument<\/pre><\/div>\n\n\n\n<p>There\u2019s an error in our code, as we expected. Let\u2019s fix it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution<\/h2>\n\n\n\n<p>To solve this problem, we need to make sure that all positional arguments come before keyword arguments. Let\u2019s change how we call our function to reflect this rule:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>print_menu(salads, pizzas)<\/pre><\/div>\n\n\n\n<p>We have specified two positional arguments: salads and pizzas. Alternatively, we could specify \u201cpizzas\u201d as as keyword argument after \u201csalads\u201d:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>print_menu(salads, pizzas = pizzas)<\/pre><\/div>\n\n\n\n<p>In this example, it is unnecessary to add in any keyword arguments because we are not using the *args method. With that said, adding in keyword arguments can make code more readable depending on the number of values being passed into a function.<br><\/p>\n\n\n\n<p>Let\u2019s run our code with this revised function call:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Salad Menu\nTuna Salad\nLettuce and Mango Salad\nGreek Salad\n\nPizza Menu\nVeggie Supreme\nHam and Pineapple\nBBQ Chicken<\/pre><\/div>\n\n\n\n<p>Our code successfully prints out our two Python <a href=\"https:\/\/careerkarma.com\/blog\/python-array\/\">lists<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Positional arguments must appear before a keyword argument in Python. This is because Python interprets positional arguments in the order in which they appear. Then, it interprets the keyword arguments that have been specified.<br><\/p>\n\n\n\n<p>Now you\u2019re ready to solve the \u201cpositional argument follows keyword argument\u201d error like an expert <a href=\"https:\/\/careerkarma.com\/blog\/what-python-is-used-for\/\">Python<\/a> developer!<\/p>\n","protected":false},"excerpt":{"rendered":"In Python, there are two types of arguments: positional and keyword arguments. These arguments must appear in a particular order otherwise the Python interpreter returns an error. In this guide, we\u2019re going to talk about the \u201cpositional argument follows keyword argument\u201d error and why it is raised. We\u2019ll look at an example code snippet with&hellip;","protected":false},"author":240,"featured_media":17625,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-20709","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 positional argument follows keyword argument Solution | CK<\/title>\n<meta name=\"description\" content=\"On Career Karma, learn about the Python positional argument follows keyword argument error, why it is raised, and how to solve it.\" \/>\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-positional-argument-follows-keyword-argument\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python positional argument follows keyword argument Solution\" \/>\n<meta property=\"og:description\" content=\"On Career Karma, learn about the Python positional argument follows keyword argument error, why it is raised, and how to solve it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/\" \/>\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-03T05:45:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T11:57:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\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-positional-argument-follows-keyword-argument\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python positional argument follows keyword argument Solution\",\"datePublished\":\"2020-08-03T05:45:53+00:00\",\"dateModified\":\"2023-12-01T11:57:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/\"},\"wordCount\":567,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/\",\"name\":\"Python positional argument follows keyword argument Solution | CK\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"datePublished\":\"2020-08-03T05:45:53+00:00\",\"dateModified\":\"2023-12-01T11:57:18+00:00\",\"author\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"On Career Karma, learn about the Python positional argument follows keyword argument error, why it is raised, and how to solve it.\",\"breadcrumb\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg\",\"width\":1020,\"height\":680,\"caption\":\"A person writing lines of code on a laptop\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#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 positional argument follows keyword argument 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 positional argument follows keyword argument Solution | CK","description":"On Career Karma, learn about the Python positional argument follows keyword argument error, why it is raised, and how to solve it.","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-positional-argument-follows-keyword-argument\/","og_locale":"en_US","og_type":"article","og_title":"Python positional argument follows keyword argument Solution","og_description":"On Career Karma, learn about the Python positional argument follows keyword argument error, why it is raised, and how to solve it.","og_url":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-08-03T05:45:53+00:00","article_modified_time":"2023-12-01T11:57:18+00:00","og_image":[{"width":1020,"height":680,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-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-positional-argument-follows-keyword-argument\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python positional argument follows keyword argument Solution","datePublished":"2020-08-03T05:45:53+00:00","dateModified":"2023-12-01T11:57:18+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/"},"wordCount":567,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/","url":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/","name":"Python positional argument follows keyword argument Solution | CK","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","datePublished":"2020-08-03T05:45:53+00:00","dateModified":"2023-12-01T11:57:18+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"On Career Karma, learn about the Python positional argument follows keyword argument error, why it is raised, and how to solve it.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/05\/danial-ricaros-FCHlYvR5gJI-unsplash.jpg","width":1020,"height":680,"caption":"A person writing lines of code on a laptop"},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/#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 positional argument follows keyword argument 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\/20709","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=20709"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/20709\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/17625"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=20709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=20709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=20709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}