{"id":260,"date":"2020-10-20T07:09:00","date_gmt":"2020-10-20T03:39:00","guid":{"rendered":"http:\/\/blog.mohammadijoo.ir\/?p=260"},"modified":"2020-10-20T07:21:08","modified_gmt":"2020-10-20T03:51:08","slug":"decorators-in-python","status":"publish","type":"post","link":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/","title":{"rendered":"\u201cDecorators\u201d in Python"},"content":{"rendered":"\n<p style=\"text-align: justify;\"> One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic, you need to know somethings in advance. For C++ and Java programmers, functions inside of functions is weird and unfamiliar, but python supports creating functions inside of functions and a function can have an argument which is a function itself! Please don\u2019t mess it up with recursion. In recursion (which is supported by C++ and java as well), same function is called inside of definition of function, but in python you can define a new function inside a function (like a wrapper function), and return of your function could be a function. This is so beautiful feature and makes a great tool for professional programmers to write codes.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p style=\"text-align: justify;\"> But when you write functions inside of functions, it could be sometimes confusing and not good looking. So, python creators, brought the idea of \u201cfunction inside of function\u201d to the abstract feature, called \u201cDecorator\u201d. Decorator is defined by \u201c@\u201d sign before the name of function which should be decorated. Look at below codes to understand it better:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/blog.mohammadijoo.ir\/wp-content\/uploads\/2020\/10\/Decorator.png\" alt=\"\" class=\"wp-image-261\" width=\"625\" height=\"377\" srcset=\"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Decorator.png 687w, https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Decorator-300x181.png 300w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align: justify;\"> Another powerful feature which came from decorator concept, is \u201c@property\u201d decorator. As we know already about OOP, to take care of encapsulation, we need \u201cgetter\u201d and \u201csetter\u201d methods. But sometimes, writing these lines of codes could make your code look ugly. So \u201c@property\u201d decorator, which is a built-in decorator of python, could set these getter and setter methods in more compact fashion. Look at below code to understand @property decorator better:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"http:\/\/blog.mohammadijoo.ir\/wp-content\/uploads\/2020\/10\/Property_Decorator.png\" alt=\"\" class=\"wp-image-262\" width=\"622\" height=\"361\" srcset=\"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Property_Decorator.png 841w, https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Property_Decorator-300x174.png 300w, https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Property_Decorator-768x447.png 768w\" sizes=\"(max-width: 622px) 100vw, 622px\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align: justify;\"> If you need to learn more about python OOP, you can take my private tutoring courses for affordable price. You can contact me from \u201cContact Us\u201d tab in menu or just simply call me.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic, you need to know somethings in advance. For C++ and Java programmers, functions inside of functions is weird and unfamiliar, but python supports creating functions inside of functions and a function can [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":269,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[8,14,13,17,11],"tags":[95,98,96],"class_list":["post-260","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer-science","category-it","category-programming","category-python","category-software-engineering","tag-decorator-in-python","tag-object-oriented-programming","tag-python-decorators"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u201cDecorators\u201d in Python - Abolfazl Mohammadijoo&#039;s Blog<\/title>\n<meta name=\"description\" content=\"One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic,\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u201cDecorators\u201d in Python - Abolfazl Mohammadijoo&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Abolfazl Mohammadijoo&#039;s Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/abolfazl.mohammadijoo.18\/\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/abolfazl.mohammadijoo.18\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-20T03:39:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-10-20T03:51:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Python-Decorators.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"864\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Abolfazl Mohammadijoo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mohammadijoo\" \/>\n<meta name=\"twitter:site\" content=\"@mohammadijoo\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abolfazl Mohammadijoo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/\"},\"author\":{\"name\":\"Abolfazl Mohammadijoo\",\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/#\\\/schema\\\/person\\\/d31b62e4060ead33fe02b44c0a6f8f00\"},\"headline\":\"\u201cDecorators\u201d in Python\",\"datePublished\":\"2020-10-20T03:39:00+00:00\",\"dateModified\":\"2020-10-20T03:51:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/\"},\"wordCount\":297,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/#\\\/schema\\\/person\\\/d31b62e4060ead33fe02b44c0a6f8f00\"},\"image\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Python-Decorators.jpg\",\"keywords\":[\"Decorator in Python\",\"Object-Oriented Programming\",\"Python Decorators\"],\"articleSection\":[\"Computer Science\",\"IT\",\"Programming\",\"Python\",\"Software Engineering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/\",\"url\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/\",\"name\":\"\u201cDecorators\u201d in Python - Abolfazl Mohammadijoo&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Python-Decorators.jpg\",\"datePublished\":\"2020-10-20T03:39:00+00:00\",\"dateModified\":\"2020-10-20T03:51:08+00:00\",\"description\":\"One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic,\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Python-Decorators.jpg\",\"contentUrl\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Python-Decorators.jpg\",\"width\":1536,\"height\":864,\"caption\":\"Python-Decorators\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/decorators-in-python\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u201cDecorators\u201d in Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/\",\"name\":\"Abolfazl Mohammadijoo&#039;s Blog\",\"description\":\"Here I Share My &quot;Magazine Style Articles&quot; about Science and Technology\",\"publisher\":{\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/#\\\/schema\\\/person\\\/d31b62e4060ead33fe02b44c0a6f8f00\"},\"alternateName\":\"Abolfazl Mohammadijoo Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/mohammadijoo.ir\\\/en\\\/blog\\\/#\\\/schema\\\/person\\\/d31b62e4060ead33fe02b44c0a6f8f00\",\"name\":\"Abolfazl Mohammadijoo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mohammadijoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Abolfazl_Mohammadijoo_SVG3-.png\",\"url\":\"https:\\\/\\\/mohammadijoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Abolfazl_Mohammadijoo_SVG3-.png\",\"contentUrl\":\"https:\\\/\\\/mohammadijoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Abolfazl_Mohammadijoo_SVG3-.png\",\"width\":539,\"height\":553,\"caption\":\"Abolfazl Mohammadijoo\"},\"logo\":{\"@id\":\"https:\\\/\\\/mohammadijoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Abolfazl_Mohammadijoo_SVG3-.png\"},\"description\":\"I am a freelance \\\"Full-Stack Developer\\\" and \\\"Full-Stack Engineer\\\". I have Bachelor and Master Degrees in Mechanical Engineering (Control &amp; Robotics) from best Universities in Iran, and have a great knowledge in Artificial Intelligence, Computer engineering and Electrical Engineering.\",\"sameAs\":[\"https:\\\/\\\/mohammadijoo.com\",\"https:\\\/\\\/www.facebook.com\\\/abolfazl.mohammadijoo.18\\\/\",\"https:\\\/\\\/www.instagram.com\\\/abolfazl_m1363\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/abolfazl-mohammadijoo-ab573b6\\\/\",\"https:\\\/\\\/www.pinterest.com\\\/abolfazlmohammadijoo\\\/\",\"https:\\\/\\\/x.com\\\/mohammadijoo\",\"https:\\\/\\\/www.youtube.com\\\/@abolfazlmohammadijoo\",\"https:\\\/\\\/soundcloud.com\\\/abolfazl1363\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u201cDecorators\u201d in Python - Abolfazl Mohammadijoo&#039;s Blog","description":"One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic,","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:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/","og_locale":"en_US","og_type":"article","og_title":"\u201cDecorators\u201d in Python - Abolfazl Mohammadijoo&#039;s Blog","og_description":"One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic,","og_url":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/","og_site_name":"Abolfazl Mohammadijoo&#039;s Blog","article_publisher":"https:\/\/www.facebook.com\/abolfazl.mohammadijoo.18\/","article_author":"https:\/\/www.facebook.com\/abolfazl.mohammadijoo.18\/","article_published_time":"2020-10-20T03:39:00+00:00","article_modified_time":"2020-10-20T03:51:08+00:00","og_image":[{"width":1536,"height":864,"url":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Python-Decorators.jpg","type":"image\/jpeg"}],"author":"Abolfazl Mohammadijoo","twitter_card":"summary_large_image","twitter_creator":"@mohammadijoo","twitter_site":"@mohammadijoo","twitter_misc":{"Written by":"Abolfazl Mohammadijoo","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#article","isPartOf":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/"},"author":{"name":"Abolfazl Mohammadijoo","@id":"https:\/\/mohammadijoo.ir\/en\/blog\/#\/schema\/person\/d31b62e4060ead33fe02b44c0a6f8f00"},"headline":"\u201cDecorators\u201d in Python","datePublished":"2020-10-20T03:39:00+00:00","dateModified":"2020-10-20T03:51:08+00:00","mainEntityOfPage":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/"},"wordCount":297,"commentCount":0,"publisher":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/#\/schema\/person\/d31b62e4060ead33fe02b44c0a6f8f00"},"image":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#primaryimage"},"thumbnailUrl":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Python-Decorators.jpg","keywords":["Decorator in Python","Object-Oriented Programming","Python Decorators"],"articleSection":["Computer Science","IT","Programming","Python","Software Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/","url":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/","name":"\u201cDecorators\u201d in Python - Abolfazl Mohammadijoo&#039;s Blog","isPartOf":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#primaryimage"},"image":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#primaryimage"},"thumbnailUrl":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Python-Decorators.jpg","datePublished":"2020-10-20T03:39:00+00:00","dateModified":"2020-10-20T03:51:08+00:00","description":"One of most powerful and advanced features of \u201cObject-Oriented Programming\u201d in python, is \u201cDecorators\u201d. But before you dive in to the decorator\u2019s topic,","breadcrumb":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#primaryimage","url":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Python-Decorators.jpg","contentUrl":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Python-Decorators.jpg","width":1536,"height":864,"caption":"Python-Decorators"},{"@type":"BreadcrumbList","@id":"https:\/\/mohammadijoo.ir\/en\/blog\/decorators-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mohammadijoo.ir\/en\/blog\/"},{"@type":"ListItem","position":2,"name":"\u201cDecorators\u201d in Python"}]},{"@type":"WebSite","@id":"https:\/\/mohammadijoo.ir\/en\/blog\/#website","url":"https:\/\/mohammadijoo.ir\/en\/blog\/","name":"Abolfazl Mohammadijoo&#039;s Blog","description":"Here I Share My &quot;Magazine Style Articles&quot; about Science and Technology","publisher":{"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/#\/schema\/person\/d31b62e4060ead33fe02b44c0a6f8f00"},"alternateName":"Abolfazl Mohammadijoo Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mohammadijoo.ir\/en\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/mohammadijoo.ir\/en\/blog\/#\/schema\/person\/d31b62e4060ead33fe02b44c0a6f8f00","name":"Abolfazl Mohammadijoo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mohammadijoo.com\/blog\/wp-content\/uploads\/2022\/11\/Abolfazl_Mohammadijoo_SVG3-.png","url":"https:\/\/mohammadijoo.com\/blog\/wp-content\/uploads\/2022\/11\/Abolfazl_Mohammadijoo_SVG3-.png","contentUrl":"https:\/\/mohammadijoo.com\/blog\/wp-content\/uploads\/2022\/11\/Abolfazl_Mohammadijoo_SVG3-.png","width":539,"height":553,"caption":"Abolfazl Mohammadijoo"},"logo":{"@id":"https:\/\/mohammadijoo.com\/blog\/wp-content\/uploads\/2022\/11\/Abolfazl_Mohammadijoo_SVG3-.png"},"description":"I am a freelance \"Full-Stack Developer\" and \"Full-Stack Engineer\". I have Bachelor and Master Degrees in Mechanical Engineering (Control &amp; Robotics) from best Universities in Iran, and have a great knowledge in Artificial Intelligence, Computer engineering and Electrical Engineering.","sameAs":["https:\/\/mohammadijoo.com","https:\/\/www.facebook.com\/abolfazl.mohammadijoo.18\/","https:\/\/www.instagram.com\/abolfazl_m1363","https:\/\/www.linkedin.com\/in\/abolfazl-mohammadijoo-ab573b6\/","https:\/\/www.pinterest.com\/abolfazlmohammadijoo\/","https:\/\/x.com\/mohammadijoo","https:\/\/www.youtube.com\/@abolfazlmohammadijoo","https:\/\/soundcloud.com\/abolfazl1363"]}]}},"jetpack_featured_media_url":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-content\/uploads\/2020\/10\/Python-Decorators.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/posts\/260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/comments?post=260"}],"version-history":[{"count":4,"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/posts\/260\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/posts\/260\/revisions\/267"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/media\/269"}],"wp:attachment":[{"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/media?parent=260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/categories?post=260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohammadijoo.ir\/en\/blog\/wp-json\/wp\/v2\/tags?post=260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}