{"id":21271,"date":"2020-08-17T10:31:59","date_gmt":"2020-08-17T17:31:59","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=21271"},"modified":"2023-12-01T03:57:57","modified_gmt":"2023-12-01T11:57:57","slug":"python-syntaxerror-non-default-argument-follows-default-argument","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/","title":{"rendered":"Python SyntaxError: non-default argument follows default argument Solution"},"content":{"rendered":"\n<p>An argument can have a default value in a Python function. If you specify arguments with default values, they must come after arguments without default values. Otherwise, you encounter a \u201cSyntaxError: non-default argument follows default argument\u201d error.<br><\/p>\n\n\n\n<p>In this guide, we talk about what this error means and why it is raised. We walk through an example of this error to help you understand how to solve it in your code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SyntaxError: non-default argument follows default argument<\/h2>\n\n\n\n<p>Python assigns arguments to <a href=\"https:\/\/careerkarma.com\/blog\/python-variables\/\">variables<\/a> in the order in which they appear in a function call.<br><\/p>\n\n\n\n<p>Default arguments must come before non-default arguments. This is because non-default arguments are mandatory.<br><\/p>\n\n\n\n<p>Whereas default values have a value even if one is not specified, a non-default argument does not. Default arguments have no purpose if you have to state a value for each of them.<br><\/p>\n\n\n\n<p>Consider the following code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def test_function(score=25, class=6, name):\n\tpass\n\ntest_function(&quot;John&quot;, 22)<\/pre><\/div>\n\n\n\n<p>In this code, Python does not know whether \u201cJohn\u201d is assigned to \u201cname\u201d or \u201cscore\u201d. We have to use explicitly the values which to be assigned to each argument in our function call:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>test_function(name=&quot;John&quot;, score=22)<\/pre><\/div>\n\n\n\n<p>This syntax is more verbose than if you just state default arguments before non-default ones.<br><\/p>\n\n\n\n<p>Alternatively, we can assign a value to each argument. This defeats the purpose of having arguments with default values.<br><\/p>\n\n\n\n<p>In a function, the order in which arguments must appear is:<br><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/careerkarma.com\/blog\/python-positional-argument-follows-keyword-argument\/\">Positional arguments<\/a> (non-default)<\/li><li>Keyword arguments (default)<\/li><li><a href=\"https:\/\/careerkarma.com\/blog\/python-args-kwargs\/\">Keyword-only arguments<\/a> (*args)<\/li><li>Variable keyword arguments (**kwargs)<\/li><\/ul>\n\n\n\n<p>If you do not adhere to this order, Python returns an error message.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An Example Scenario<\/h2>\n\n\n\n<p>Write a program that calculates the percentage a student has earned on a test.<br><\/p>\n\n\n\n<p>Start by defining a <a href=\"https:\/\/careerkarma.com\/blog\/python-functions\/\">function<\/a> that calculates the percentage a student earned on a test:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def calculate_percentage(out_of=100, score):\n\treturn out_of \/ score * 100<\/pre><\/div>\n\n\n\n<p>Our function accepts two arguments: the score a student earned and how many marks were available. Next, ask a user to present their test score and the number of marks available in the test:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>user_score = float(input(&quot;How many marks did you receive on the test? &quot;))\ntotal_available = float(input(&quot;How many marks were available on the test? &quot;))<\/pre><\/div>\n\n\n\n<p>We convert both the values a user inserts to <a href=\"https:\/\/careerkarma.com\/blog\/python-float\/\">floating point numbers<\/a> so we can perform a mathematical operation with them. Next, call our function and pass the values our user inserted through our function:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>percentage = calculate_percentage(total_available, user_score)\nprint(&quot;You have received a {}% mark on your test.&quot;.format(round(percentage, 1)))<\/pre><\/div>\n\n\n\n<p>Once our program calculates the percentage a student earned on a test, we print out that value to the console. We round the percentage to two decimal places using the <code>round()<\/code> method. Run our code and see what happens:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>  File &quot;main.py&quot;, line 1\n\tdef calculate_percentage(out_of=100, score):\n                         \t^\nSyntaxError: non-default argument follows default argument<\/pre><\/div>\n\n\n\n<p>Our code returns an error. Let\u2019s fix this problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution<\/h2>\n\n\n\n<p>We have specified a default argument before a non-default argument in our calculate_percentage function:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def calculate_percentage(out_of=100, score):<\/pre><\/div>\n\n\n\n<p>This renders the purpose of having a default argument useless. How will Python know what value should be set for \u201cscore\u201d if we only specify one value?<br><\/p>\n\n\n\n<p>To solve this problem, we have to change the order of our arguments so that our default arguments appear last. Let\u2019s change our code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def calculate_percentage(score, out_of=100):<\/pre><\/div>\n\n\n\n<p>Try to run our code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>How many marks did you receive on the test? 67\nHow many marks were available on the test? 100\nYou have received a 67.0% mark on your test.<\/pre><\/div>\n\n\n\n<p>Our code successfully calculates the percentage a student has earned on their test.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The Python \u201cSyntaxError: non-default argument follows default argument\u201d error is raised when you specify a default argument before a non-default argument.<br><\/p>\n\n\n\n<p>To solve this error, make sure that you arrange all the arguments in a function so that default arguments come after non-default arguments. The order in which arguments should appear is: non-default, default, keyword, variable keyword.<br><\/p>\n\n\n\n<p>Now you\u2019re ready to solve this common Python error like an <a href=\"https:\/\/careerkarma.com\/blog\/best-python-books\/\">expert coder<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"An argument can have a default value in a Python function. If you specify arguments with default values, they must come after arguments without default values. Otherwise, you encounter a \u201cSyntaxError: non-default argument follows default argument\u201d error. In this guide, we talk about what this error means and why it is raised. We walk through&hellip;","protected":false},"author":240,"featured_media":21272,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-21271","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.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Python SyntaxError: non-default argument follows default | Career Karma<\/title>\n<meta name=\"description\" content=\"On Career Karma, learn about the Python SyntaxError: non-default argument follows default argument, 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-syntaxerror-non-default-argument-follows-default-argument\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python SyntaxError: non-default argument follows default argument Solution\" \/>\n<meta property=\"og:description\" content=\"On Career Karma, learn about the Python SyntaxError: non-default argument follows default argument, how the error works, and how to solve the error.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-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-17T17:31:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T11:57:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/joshua-aragon-azft6PuI3Ug-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"616\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python SyntaxError: non-default argument follows default argument Solution\",\"datePublished\":\"2020-08-17T17:31:59+00:00\",\"dateModified\":\"2023-12-01T11:57:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/\"},\"wordCount\":564,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/joshua-aragon-azft6PuI3Ug-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/\",\"name\":\"Python SyntaxError: non-default argument follows default | Career Karma\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/joshua-aragon-azft6PuI3Ug-unsplash.jpg\",\"datePublished\":\"2020-08-17T17:31:59+00:00\",\"dateModified\":\"2023-12-01T11:57:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"On Career Karma, learn about the Python SyntaxError: non-default argument follows default argument, how the error works, and how to solve the error.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-argument\\\/#primaryimage\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/joshua-aragon-azft6PuI3Ug-unsplash.jpg\",\"contentUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/joshua-aragon-azft6PuI3Ug-unsplash.jpg\",\"width\":1020,\"height\":616},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-syntaxerror-non-default-argument-follows-default-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 SyntaxError: non-default argument follows default 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\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/james-gallagher-150x150.jpg\",\"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 SyntaxError: non-default argument follows default | Career Karma","description":"On Career Karma, learn about the Python SyntaxError: non-default argument follows default argument, 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-syntaxerror-non-default-argument-follows-default-argument\/","og_locale":"en_US","og_type":"article","og_title":"Python SyntaxError: non-default argument follows default argument Solution","og_description":"On Career Karma, learn about the Python SyntaxError: non-default argument follows default argument, how the error works, and how to solve the error.","og_url":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-08-17T17:31:59+00:00","article_modified_time":"2023-12-01T11:57:57+00:00","og_image":[{"width":1020,"height":616,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/joshua-aragon-azft6PuI3Ug-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":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python SyntaxError: non-default argument follows default argument Solution","datePublished":"2020-08-17T17:31:59+00:00","dateModified":"2023-12-01T11:57:57+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/"},"wordCount":564,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/joshua-aragon-azft6PuI3Ug-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/","url":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/","name":"Python SyntaxError: non-default argument follows default | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/joshua-aragon-azft6PuI3Ug-unsplash.jpg","datePublished":"2020-08-17T17:31:59+00:00","dateModified":"2023-12-01T11:57:57+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"On Career Karma, learn about the Python SyntaxError: non-default argument follows default argument, how the error works, and how to solve the error.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-argument\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/joshua-aragon-azft6PuI3Ug-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/joshua-aragon-azft6PuI3Ug-unsplash.jpg","width":1020,"height":616},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-syntaxerror-non-default-argument-follows-default-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 SyntaxError: non-default argument follows default 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\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","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\/21271","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=21271"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/21271\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/21272"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=21271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=21271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=21271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}