{"id":80717,"date":"2021-05-18T09:00:57","date_gmt":"2021-05-18T03:30:57","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=80717"},"modified":"2021-05-18T09:00:57","modified_gmt":"2021-05-18T03:30:57","slug":"python-property-class-getters-setters","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/","title":{"rendered":"Python Property Class | Getters &amp; Setters"},"content":{"rendered":"<p>In this article, you\u2019ll get a precise idea of what is a python property class, and as this python fairy basket always has so much to offer, this time in addition, it will offer you Python getters and setters.<\/p>\n<p>Read the article to know more about what exactly is a python property class and how you can modify and amend it, and of course, how it will help you with the code.<\/p>\n<h3>Python Getters And Setters<\/h3>\n<p><strong>Getters:-<\/strong> They are object-oriented programming set up which helps in extracting out the private codes from the internal dictionary in the python library.<\/p>\n<p><strong>Setters:-<\/strong> They help in changing\/renaming the already defined internal libraries in python.<\/p>\n<h4>Private Attribute &#8211; Encapsulation<\/h4>\n<p>Syntax:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Class latestclass:\n\n    def __ini__(self, a):\n               self.__b= b\n\n    ## getter method to get the properties \n    def get_b(self):\n        return self.__b\n\n    ## setter method to change the value 'b' \n    def set_b(self, b):\n        self.__b = b\n<\/pre>\n<p><strong>SampleClass has four methods, they are:<\/strong><\/p>\n<ol>\n<li><strong>__init__ :-<\/strong> used to execute domainial property of the attributes or the properties of a class.<\/li>\n<li><strong>__a :-<\/strong> It is a private internal library attribute frequently used.<\/li>\n<li><strong>get_a :-<\/strong> It is generally used to extract the internal values from library attribute a.<\/li>\n<li><strong>set_a :-<\/strong> It is generally used to redefine the value of a using an object.<\/li>\n<\/ol>\n<p><strong>For Example<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def __init1__(self, b):\n        self.b = b\n\nobj = #PythonicWay(10)\n\nprint(obj)\n<\/pre>\n<p><strong>Output<\/strong><\/p>\n<div class=\"code-output\">10<\/div>\n<h4>Sample Class &#8211; A Hiding Feature<\/h4>\n<p>SampleClass hides the private attributes and methods in the code. It implements the encapsulation feature of OOPS also. While PythonicWay doesn&#8217;t hide the data, it doesn&#8217;t implement any encapsulation feature.<\/p>\n<h4>Class Without Getters and Setters<\/h4>\n<p>Let&#8217;s assume that the coder decides to make a class that stores the weight of a class of students as a variable. And now, it would also implement a method to convert the weight in kgs into grams.<\/p>\n<p><strong>For Example<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a=int(input(\"enter weight\"))\ndef __init__(self,weight=0):\n        self.weight= weight\ndef to_(self):\n        return (self.weight)*1000\n\nprint(a*1000)\n\n<\/pre>\n<p><strong>Output<\/strong><\/p>\n<div class=\"code-output\">37000<\/div>\n<h4>Using Getters and Setters in Python<\/h4>\n<p>If we want to extend the usability of the weight class defined above, we can&#8217;t. Because we are well aware that weight cannot be measured in any other unit such as litre.<\/p>\n<p><strong>For Example<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">classweight \ndef __init__(self,weight=0):\n        self.set_weight(weight)\n\ndef to_gram(self):\n        return (self.get_gram() * 1000) \nvalue=input(\"enter weight\")  \nself._weight = value\n<\/pre>\n<p><strong>Output<\/strong><\/p>\n<div class=\"code-output\">Traceback (most recent call last):<br \/>\nFile &#8220;&lt;string&gt;&#8221;\\<\/div>\n<h3>Property Class in Python<\/h3>\n<p>The property class gives a specific name and value in the executing code.<\/p>\n<p><strong>For Example<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">p=int(input(\"enter weight\"))\ndef __init__(self,weight=0):\n        self.weight= weight\ndef to_(self):\n        return (self.weight)*1000\n\nprint(p*1000)\n<\/pre>\n<p><strong>Output<\/strong><\/p>\n<div class=\"code-output\">37<br \/>\n37000<\/div>\n<h4>Property in Python<\/h4>\n<p>It is used to set any particular value of an attribute in the SampleClass within the runtime.<\/p>\n<p><strong>For Example<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">thisistech= SampleClass1\n\nprint(thisistech.get_b())\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">Name error<\/div>\n<p>implementation of the above class using the property decorator.<\/p>\n<h4>Class Property in Python<\/h4>\n<p>Class property identifies the class of the def variables, searches the python library for it and places the same in the code.<\/p>\n<p><strong>Syntax<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def __init__(self, variable):\n        ## initializing the attribute\n        self.beta= variable\n\n count==0\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Passing all the getter and setter methods to the property and assign it to the variable:<\/strong><\/p>\n<p>Code:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">## creating an object for the 'AnotherWay' class\nobj =(int(input(\"enter\")))\nprint(obj)<\/pre>\n<p><strong>Output<\/strong><\/p>\n<div class=\"code-output\">4<\/div>\n<h3>Python &#8211; Property() function<\/h3>\n<p>The property() function is basically used to define properties in the Python class.<\/p>\n<p><strong>For Example<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">class age:\n    def __init__(self, name=\"enter age\"):\n        self.__name=name\n      \nprint(\"enter age\")\n\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">Enter age<br \/>\n&#8217;33&#8217;<\/div>\n<p>The property() method in Python provides an interface to instance attributes in the code in runtime within the attributes. This method takes the get, set, and delete methods as arguments and returns an object of the property class side by side.<\/p>\n<p>The property decorator makes it easy to declare a property instead of calling the property() function.<\/p>\n<p>The python property decorator allows us to define properties easily without calling the property() function manually.<\/p>\n<h4>Python Add Class Properties<\/h4>\n<p>This is yet another important function, which allows the coder to add any other defined field, within the code.<\/p>\n<h4>What is the Main Decorator?<\/h4>\n<p>In any Python program, function is a first-order object only. This means that it can be passed as an argument to another function. It is possible to define a function in such a way that the function is inside another function. Such a function is called a nested function in a program.<\/p>\n<p><strong>Syntax<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Copy\ndef display1(str):\n    print(str)\n<\/pre>\n<p><strong>Decorator Function:<\/strong> This function basically helps the coder to know the additive feature of any particular function.<\/p>\n<p><strong>For Example:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def display(strs):\n    print(strs)\n&gt;&gt;&gt; ('TechVidvan')\n\n\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">TechVidvan<\/div>\n<p><strong>Example<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">age='11'\nprint(age)\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">11<\/div>\n<h4>classmethod Decorator<\/h4>\n<p>The class method decorator parses the code in such a way that it directly gets executed in the main source code. This helps the coder in checking the bugs of the code also.<\/p>\n<p><strong>Code<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#defining a variable as this is tech\ndef thisistech():\n        print(\"objectistech\")\n\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">&gt;&gt;&gt; thisistech()<br \/>\nobjectistech<br \/>\n&gt;&gt;&gt;<\/div>\n<h4>Static method Decorator<\/h4>\n<p>The static method is a built-in python decorator, from the library of a python which defines a static method for any dictionary in the class in Python.<\/p>\n<p><strong>Syntax<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">classmarks:\n    \n    def marks():\n        print(\"enter\")\n<\/pre>\n<p><em><strong>Syntax:\u00a0<\/strong><\/em><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">property(fget, fset, fdel, doc)\n<\/pre>\n<p><strong>Parameters:<\/strong><\/p>\n<table style=\"height: 227px\" width=\"931\">\n<tbody>\n<tr>\n<td><b>Parameter\u00a0<\/b><\/td>\n<td><b>Description\u00a0<\/b><\/td>\n<\/tr>\n<tr>\n<td><b>fget()\u00a0<\/b><\/td>\n<td><span style=\"font-weight: 400\">It is technically used to get the value of an attribute.<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>fdel()<\/b><\/td>\n<td><span style=\"font-weight: 400\">It is technically used to delete the attribute value.<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>doc()<\/b><\/td>\n<td><span style=\"font-weight: 400\">It is technically a string that contains the documentation (docstring) for the attribute.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Syntax<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">class Alphabet: \n    def __init__(self, variable): \n        self.__variable = value         \n     # deleting the value \n    def delValue(self):  \n    values = property(getValue, setValue, delValue, )  \n# passing the value \nx = Alphabet('pass') \nprint(x.value)   \ndel x.value \n<\/pre>\n<h4>Using Decorator in Python<\/h4>\n<p>Decorators are used for technically built-in functions. They are used to add functionality to the existing code in python using the predefined function only.<\/p>\n<p><strong>Syntax<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">class Alphabet: \n    def __init__(self):\nvalue==0\n        self.__val = value \n    def value(self): \n        print('pass') \n        return self.__val\n\n<\/pre>\n<h4>Accessing Python Class Members<\/h4>\n<p>To access the members of a Python class, coder uses the dot operator in any program.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&gt;&gt;&gt; apple=fruit()<\/pre>\n<p>Now, let\u2019s access the color attribute for apple.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&gt;&gt;&gt; apple.color\n\u201d\n<\/pre>\n<p>This returns an empty string because that is what the coder specified in the class definition.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&gt;&gt;&gt; apple.sayhello()\nHi\n<\/pre>\n<p>Here, we call the method sayhello() on apple.<\/p>\n<p><strong>Attributes Belonging to Python Class:<\/strong> These are the permanent parsers for any function, they carry bugs with them and hence returns error if the statement is true.<\/p>\n<p><strong>Code<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&gt;&gt;&gt; classcar:\n         size='mercedes'\n         def __init__(self,color):\n                   self.type=type\n         def salutation(self):\n                print( {type {self.shape}\")\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">&gt;&gt;&gt; car.type<br \/>\nTraceback (most recent call last):<\/div>\n<h4>Deleting Python Class, Attribute, and Object<\/h4>\n<p>Sometimes a coder may want to delete or remove a few classes or attributes which are already executed in the code. This can be done with the help of delete function.<\/p>\n<p><strong>Code<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&gt;&gt;&gt; del.age.numeral\n&gt;&gt;&gt;age.numeral\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">Traceback (most recent call last):<\/div>\n<h4>Python Multiple Inheritance<\/h4>\n<p>As its name is indicative itself, multiple inheritances in python is when a class inherits from multiple classes.<\/p>\n<p>This is done by writing multiple python classes in the same code. It is performed by linking the classes as a function of the main attribute in the first source code..<\/p>\n<p><strong>For Example<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">class height:\n               (\"yes\")\nclass age:\n                (\"yes\")\nprint(\"yes\")\n<\/pre>\n<p><strong>Output<\/strong>:<\/p>\n<div class=\"code-output\">yes<\/div>\n<h4>MRO (Method Resolution Order)<\/h4>\n<p>This method searches for multiple inheritances in any order. And if it is not found, then it researches the same in the library and displays the result as found or error.<\/p>\n<p><strong>Complications in Python Multiple Inheritance<\/strong><\/p>\n<p>The class can be named first in the inheritance and passes its value to the child class for the common attribute.<\/p>\n<h4>Applications of Python property Method<\/h4>\n<p>By using property method() the coder can implement a value in a library as well. And can simultaneously check the client code in the main code and display the result. So that the implementation is backward compatible for the user as well.<\/p>\n<h3>Conclusion<\/h3>\n<p>In this article, we\u2019ve learned how python property initially works, as well as what exactly a coder requires to apply it efficiently, that is, getters and setters. Prior knowledge of getter and setter would surely make the coding more effective anyway.<\/p>\n<p>Learning so much about property class is all in vain if not coded well. So keep practicing and Happy Pythonning!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, you\u2019ll get a precise idea of what is a python property class, and as this python fairy basket always has so much to offer, this time in addition, it will offer&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":80772,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1053],"tags":[3416,3417,3418,3419,3420],"class_list":["post-80717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-getters-and-setters-in-python","tag-python-property","tag-python-property-class","tag-python-property-decorators","tag-python-property-functions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python Property Class | Getters &amp; Setters - TechVidvan<\/title>\n<meta name=\"description\" content=\"In this tutorial, you will learn about Python @property decorator; a pythonic way to use getters and setters in object-oriented programming.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Property Class | Getters &amp; Setters - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, you will learn about Python @property decorator; a pythonic way to use getters and setters in object-oriented programming.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-18T03:30:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/05\/Python-Property-Class.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python Property Class | Getters &amp; Setters - TechVidvan","description":"In this tutorial, you will learn about Python @property decorator; a pythonic way to use getters and setters in object-oriented programming.","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:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/","og_locale":"en_US","og_type":"article","og_title":"Python Property Class | Getters &amp; Setters - TechVidvan","og_description":"In this tutorial, you will learn about Python @property decorator; a pythonic way to use getters and setters in object-oriented programming.","og_url":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-05-18T03:30:57+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/05\/Python-Property-Class.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Python Property Class | Getters &amp; Setters","datePublished":"2021-05-18T03:30:57+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/"},"wordCount":1138,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/05\/Python-Property-Class.jpg","keywords":["Getters and Setters in python","Python property","Python Property Class","Python Property Decorators","Python Property Functions"],"articleSection":["Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/","url":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/","name":"Python Property Class | Getters &amp; Setters - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/05\/Python-Property-Class.jpg","datePublished":"2021-05-18T03:30:57+00:00","description":"In this tutorial, you will learn about Python @property decorator; a pythonic way to use getters and setters in object-oriented programming.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/05\/Python-Property-Class.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/05\/Python-Property-Class.jpg","width":1200,"height":628,"caption":"Python Property Class"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/python-property-class-getters-setters\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Python Property Class | Getters &amp; Setters"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/80717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=80717"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/80717\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/80772"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=80717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=80717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=80717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}