

{"id":108590,"date":"2022-05-10T08:00:01","date_gmt":"2022-05-10T02:30:01","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=108590"},"modified":"2026-06-01T11:50:08","modified_gmt":"2026-06-01T06:20:08","slug":"python-screen-recorder-project","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/","title":{"rendered":"Python Screen Recorder Project with Source Code"},"content":{"rendered":"<p>There are many screen recording apps for different operating systems. With the help of these screen recording apps, we can record a screen while playing a video game, composing a specific code, researching something online, and much more. Let&#8217;s build a screen recorder project in python.<\/p>\n<h3>What is the Screen Recorder?<\/h3>\n<p>Screen recorder is software that captures content and activities that take place on a computer screen. Screen recorder is useful during tasks such as creating video tutorials, recording screen content, etc.<\/p>\n<h3>Python Screen Recorder Project<\/h3>\n<p>Here we have made a screen recorder project in python to capture our screen. We have made a GUI. We are able to see previews after clicking on the preview button. By clicking on the rec button the screen gets recorded and the video is saved in the particular folder.<\/p>\n<h3>Screen Recorder Project Prerequisite<\/h3>\n<p>This project requires good knowledge of python programming language and cv2, numpy, tkinter, PIL, modules as well as datetime and threading modules. The Cv2 module is used for capturing the screen.<\/p>\n<h3>Download Screen Recorder Python Code<\/h3>\n<p>Please download the source code of Python Screen Recorder Project from the following link: <a href=\"https:\/\/drive.google.com\/file\/d\/1JCOSGj7crcDil-riUOjvSDhayc5JME_b\/view?usp=drive_link\"><strong>Screen Recorder Project<\/strong><\/a><\/p>\n<h2>Steps to Build a Python Screen Recorder<\/h2>\n<ol>\n<li>Import modules<\/li>\n<li>Initializing screen<\/li>\n<li>Function for display and reset time<\/li>\n<li>Function for screen recording<\/li>\n<li>Function to start recording<\/li>\n<li>Function for recording button<\/li>\n<li>Making labels and buttons<\/li>\n<\/ol>\n<h3>Step 1- Importing Modules<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#DataFlair - Importing modules\r\nimport numpy as np\r\nimport cv2\r\nfrom PIL import ImageGrab\r\nfrom tkinter import *\r\nimport threading\r\nimport datetime\r\n<\/pre>\n<h4>Code Explanation-<\/h4>\n<ul>\n<li>numpy &#8211; Numpy library used for mathematical calculations.<\/li>\n<li>cv2 &#8211; OpenCV is the name of this library used for image processing and to perform computer vision tasks.<\/li>\n<li>PIL import ImageGrab &#8211; This library used to capture screens or to take snapshots.<\/li>\n<li>Tkinter &#8211; Tkinter is the standard interface in python for creating a GUI that is Graphical User Interface.<\/li>\n<li>threading &#8211; this module creates and controls thread in python.<\/li>\n<li>datetime &#8211; Datetime module provides classes to work with date and time.<\/li>\n<\/ul>\n<h3>Step 2- Initializing window<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"> \r\n# Initializing window\r\nwindow = Tk()\r\nwindow.title('Screen Recorder')\r\nwindow.geometry('200x200')\r\nwindow.resizable(width=False, height=False)\r\nwindow.configure(bg='black')\r\n \r\nframe = Frame(window)\r\nframe.configure(bg='black')\r\nframe.pack()\r\n<\/pre>\n<h4>Code Explanation-<\/h4>\n<ul>\n<li>Tk &#8211; Initializing the tkinter window of the screen recorder.<\/li>\n<li>.title &#8211; Use to set title to window.<\/li>\n<li>.geometry &#8211; For setting dimensions of a window in pixels.<\/li>\n<li>resizable() &#8211; Used to change the size of the tkinter root window according to the user&#8217;s need.<\/li>\n<li>.config &#8211; Used to configure attributes to the window, such as background color.<\/li>\n<li>.pack() &#8211; Pack method packs the widget relative to the earlier widget.<\/li>\n<\/ul>\n<h3>Step 3- Function for display and reset time<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def Display_T():\r\n    global Recorded, Secs, Mins, Hrs\r\n    if Recorded:\r\n        if Secs == 60:\r\n            Secs = 0\r\n            Mins += 1\r\n        elif Mins == 60:\r\n            Mins = 0\r\n            Hrs += 1\r\n \r\n        TimeCounter_Label.config(text=str(Hrs) + ':' + str(Mins) + ':' + str(Secs))\r\n        Secs += 1\r\n        TimeCounter_Label.after(1000, Display_T)\r\n \r\ndef Resetting_T():\r\n    global Secs, Mins, Hrs\r\n    Secs = 0\r\n    Mins = 0\r\n    Hrs = 0\r\n<\/pre>\n<h4>Code Explanation-<\/h4>\n<ul>\n<li>Time_Display() &#8211; Function for displaying time.<\/li>\n<li>Declare global variables recorded, mins, secs, hrs.<\/li>\n<li>After we start screen recording it will show the time on screen in H:M:S manner.<\/li>\n<li>Time_Reset() &#8211; Function to reset time.<\/li>\n<li>After completion one recording it will be set to zero.<\/li>\n<\/ul>\n<h3>Step 4- Function to start recording<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def Starts_Recording():\r\n    global Recorded\r\n    Recorded = not Recorded\r\n    Resetting_T()\r\n \r\n    Button_Rec_thread = threading.Thread(target=Recording)\r\n    Thread_Counter = threading.Thread(target=Display_T)\r\n    Thread_Screen = threading.Thread(target=Screen_Recording)\r\n \r\n    if Recorded:\r\n        Button_Rec_thread.start()\r\n        Thread_Counter.start()\r\n    if Target == 'screen':\r\n        Thread_Screen.start()\r\n<\/pre>\n<h4>Code Explanation-<\/h4>\n<ul>\n<li>Starts_Recording() &#8211; Function to start screen recording.<\/li>\n<li>Declare a global variable recorded and call time_reset function for resetting the time.<\/li>\n<li>.Thread &#8211; Thread used to separate the flow of execution.<\/li>\n<\/ul>\n<h3>Step 5- Function for screen recording<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Function for Screen Recording\r\nRecorded = False\r\nTarget = 'screen'\r\nShow_Preview = True\r\n \r\ndef Screen_Recording():\r\n    global Show_Preview, Recorded\r\n    name = 'screen'\r\n    Now = datetime.datetime.now()\r\n    date = Now.strftime(\"%H%M%S\")\r\n    FileFormat = 'mp4'\r\n    filename = name + str(date) + '.' + FileFormat\r\n    FeetPerSec = 24\r\n    Resolutions = (1366, 768)\r\n    Thumb_Resolutions = (342, 192)\r\n \r\n    Four_Char_Code = cv2.VideoWriter_fourcc(*'XVID')\r\n    writer = cv2.VideoWriter(filename, Four_Char_Code, FeetPerSec, Resolutions)\r\n \r\n    while True:\r\n        IMG = ImageGrab.grab()\r\n        np_IMG = np.array(IMG)\r\n        frame = cv2.cvtColor(np_IMG, cv2.COLOR_BGR2RGB)\r\n        writer.write(frame)\r\n        if Show_Preview:\r\n            Thumb = cv2.resize(frame, dsize=Thumb_Resolutions)\r\n            cv2.imshow('Preview - Screen Recorder', Thumb)\r\n        if cv2.waitKey(1) == 27:\r\n            Recorded = False\r\n            Label_Message['text'] = 'Video was saved as ' + filename\r\n            Recording()\r\n            break\r\n \r\n    writer.release()\r\n    cv2.destroyAllWindows()\r\n<\/pre>\n<h4>Code Explanation-<\/h4>\n<ul>\n<li>Screen_Record() &#8211; Function for screen recording.<\/li>\n<li>Declare global variables recorded and show_preview. And variables name, now, date, FileFormat, filename, FeetPerSec.<\/li>\n<li>Set file format as mp4. And set file name in format of name +date +. +mp4<\/li>\n<li>Four_Char_Code &#8211; four character code objects for video writers.<\/li>\n<li>ImageGrab.grab() &#8211; For taking a snapshot of the screen.<\/li>\n<li>np.array &#8211; Convert image to numpy array.<\/li>\n<li>cv2.cvtColor &#8211; Convert color space from BGR to RGB.<\/li>\n<li>.write &#8211; Write frame to video writer.<\/li>\n<li>cv2.waitkey() &#8211; This is a function from the cv2 library which allows users to show a window until the esc key is pressed.<\/li>\n<li>After pressing ESC key message will show on the screen Video was saved with the particular file name.<\/li>\n<li>destroyAllWindows() &#8211; This function will destroy all windows.<\/li>\n<\/ul>\n<h3>Step 6- Function for recording button<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Function for recording button\r\ndef Recording():\r\n    global Recorded\r\n    if Recorded:\r\n        Button_Rec['state'] = DISABLED\r\n        Label_Message['text'] = 'Press ESC to quit.'\r\n    else:\r\n        Button_Rec['state'] = NORMAL\r\n<\/pre>\n<h4>Code Explanation-<\/h4>\n<ul>\n<li>Update_Rec_Button() &#8211; Function for recording button.<\/li>\n<li>Declare a global variable recorded.<\/li>\n<li>If we press the record button screen recording will start and if we want to stop we can press esc button. After pressing the rec button message will be shown on screen \u2018press ESC to quit.\u2019<\/li>\n<\/ul>\n<h3>Step 7- Making labels and buttons<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Making labels and buttons\r\n \r\nButton_Rec = Button(frame, text='REC', command=Starts_Recording, font=(\"Times new roman\",30,\"bold\"),bg='#e50914',  activebackground='#ab070f')\r\nButton_Rec.grid(row=20 , column=2)\r\n \r\nTimeCounter_Label = Label(frame, text='0:0:0',font=(\"Times new roman\",18,\"bold\"), bg='black', fg='white')\r\nTimeCounter_Label.grid(row=1, column=3)\r\n \r\nFrame_message = Frame(window)\r\nFrame_message.configure(bg='black')\r\nFrame_message.pack()\r\nLabel_Message = Label(Frame_message, width=3 * 14, bg='black', fg='white')\r\nLabel_Message.pack()\r\n \r\nwindow.mainloop()\r\n<\/pre>\n<h4>Code Explanation-<\/h4>\n<ul>\n<li>label &#8211; In this variable, we use the label widget for displaying the box in which we give text. Then call configure to set font, font size, and background color.<\/li>\n<li>Create three buttons: Screen, Rec and preview using button widget. And assign them text, command, background color, font, font size etc.<\/li>\n<li>Also make one message frame for showing messages.<\/li>\n<\/ul>\n<h3>Python Screen Recorder Output<\/h3>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-screen-recorder-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-109401\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-screen-recorder-output.webp\" alt=\"python screen recorder output\" width=\"1920\" height=\"1020\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p>We have successfully created a screen recorder in python using the Graphical user Interface(GUI). We have learned about the Numpy, PIL Tkinter, cv2 modules.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:2497,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1JCOSGj7crcDil-riUOjvSDhayc5JME_b\\\/view?usp=drive_link&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20260601062154\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1JCOSGj7crcDil-riUOjvSDhayc5JME_b\\\/view?usp=drive_link&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-06-02 06:23:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-06 02:16:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-10 06:35:12&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-10 06:35:12&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are many screen recording apps for different operating systems. With the help of these screen recording apps, we can record a screen while playing a video game, composing a specific code, researching something&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":109402,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46],"tags":[26334,21082,22734,26888,26755,26757,26889],"class_list":["post-108590","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-basic-python-project","tag-python-project","tag-python-project-for-beginners","tag-python-screen-recorder","tag-python-screen-recorder-project","tag-python-screen-recorder-project-with-source-code","tag-screen-recorder-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python Screen Recorder Project with Source Code - DataFlair<\/title>\n<meta name=\"description\" content=\"Create Python Screen Recorder Project using Numpy, PIL Tkinter, cv2 modules. It captures content &amp; activities on a computer screen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Screen Recorder Project with Source Code - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Create Python Screen Recorder Project using Numpy, PIL Tkinter, cv2 modules. It captures content &amp; activities on a computer screen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-10T02:30:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-01T06:20:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-project-create-screen-recorder.webp\" \/>\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\/webp\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python Screen Recorder Project with Source Code - DataFlair","description":"Create Python Screen Recorder Project using Numpy, PIL Tkinter, cv2 modules. It captures content & activities on a computer screen.","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:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/","og_locale":"en_US","og_type":"article","og_title":"Python Screen Recorder Project with Source Code - DataFlair","og_description":"Create Python Screen Recorder Project using Numpy, PIL Tkinter, cv2 modules. It captures content & activities on a computer screen.","og_url":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2022-05-10T02:30:01+00:00","article_modified_time":"2026-06-01T06:20:08+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-project-create-screen-recorder.webp","type":"image\/webp"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/b49855299264df5e27e3ec6c2cd9fde9"},"headline":"Python Screen Recorder Project with Source Code","datePublished":"2022-05-10T02:30:01+00:00","dateModified":"2026-06-01T06:20:08+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/"},"wordCount":791,"commentCount":2,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-project-create-screen-recorder.webp","keywords":["basic python project","Python project","python project for beginners","Python Screen Recorder","Python Screen Recorder Project","Python Screen Recorder Project with source code","screen recorder project"],"articleSection":["Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/","url":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/","name":"Python Screen Recorder Project with Source Code - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-project-create-screen-recorder.webp","datePublished":"2022-05-10T02:30:01+00:00","dateModified":"2026-06-01T06:20:08+00:00","description":"Create Python Screen Recorder Project using Numpy, PIL Tkinter, cv2 modules. It captures content & activities on a computer screen.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-project-create-screen-recorder.webp","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/05\/python-project-create-screen-recorder.webp","width":1200,"height":628,"caption":"python project create screen recorder"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/python-screen-recorder-project\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Python Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/python\/"},{"@type":"ListItem","position":3,"name":"Python Screen Recorder Project with Source Code"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/b49855299264df5e27e3ec6c2cd9fde9","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ef46b745ddad2fad690af626c6ef29b91809ad0a9f5ef398d07817d8cad042f5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ef46b745ddad2fad690af626c6ef29b91809ad0a9f5ef398d07817d8cad042f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ef46b745ddad2fad690af626c6ef29b91809ad0a9f5ef398d07817d8cad042f5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team is a group of passionate educators and industry experts dedicated to providing high-quality online learning resources on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. With years of experience in the field, the team aims to simplify complex topics and help learners advance their careers. At DataFlair, we believe in empowering students and professionals with the knowledge and skills needed to thrive in today\u2019s fast-paced tech industry. Follow us for Free courses, expert insights, tutorials, and practical tips to boost your learning journey.","url":"https:\/\/data-flair.training\/blogs\/author\/datafbdad\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/108590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=108590"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/108590\/revisions"}],"predecessor-version":[{"id":148565,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/108590\/revisions\/148565"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/109402"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=108590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=108590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=108590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}