<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: importostar</title>
    <description>The latest articles on DEV Community by importostar (@importostar).</description>
    <link>https://dev.to/importostar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F408360%2Ffe5eb90b-cef4-43d2-93a9-0ba456bfc952.png</url>
      <title>DEV Community: importostar</title>
      <link>https://dev.to/importostar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/importostar"/>
    <language>en</language>
    <item>
      <title>Which is better, Python or C++?</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Tue, 07 Jul 2020 10:44:28 +0000</pubDate>
      <link>https://dev.to/importostar/which-is-better-python-or-c-5g0e</link>
      <guid>https://dev.to/importostar/which-is-better-python-or-c-5g0e</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/TRa4wjYdIJ8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/l/dcsp"&gt;Learn Python Programming&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Between Python and C++ you can't answer which is better because programming languages are like tools. So that's like asking what's better a pen or a pencil?&lt;/p&gt;

&lt;p&gt;If you want to develop high level apps, like &lt;a href="https://pythonbasics.org/what-is-flask-python/"&gt;web apps&lt;/a&gt;, &lt;a href="https://pythonspot.com/game-development-with-pygame/"&gt;video games&lt;/a&gt;, &lt;a href="https://pythonpyqt.com/"&gt;desktop apps&lt;/a&gt;, &lt;a href="https://pythonprogramminglanguage.com/what-is-machine-learning/"&gt;machine learning&lt;/a&gt; or &lt;a href="https://python-commandments.org/current-date-and-time-in-python/"&gt;basic scripting&lt;/a&gt; then you can go for Python&lt;/p&gt;

&lt;p&gt;If you want to do &lt;a href="https://en.wikipedia.org/wiki/Hobbyist_operating_system_development"&gt;operating system development&lt;/a&gt; or electronics programming, you can use for C.&lt;/p&gt;

&lt;p&gt;So it depends on the application domain. So for C is more low level stuff, and Python is more what the end user touches.&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Which database is suitable for Python Flask?</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Tue, 07 Jul 2020 10:36:49 +0000</pubDate>
      <link>https://dev.to/importostar/which-database-is-suitable-for-python-flask-1df8</link>
      <guid>https://dev.to/importostar/which-database-is-suitable-for-python-flask-1df8</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/IOAphgHHEiw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/l/IMzBy"&gt;Learn Flask, Python Web Development&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flask is a micro framework, this means you can develop your app but you're not forced into a certain architecture like &lt;a href="https://pythonprogramminglanguage.com/python-flask-vs-django/"&gt;django does&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;So you can use any database system like &lt;a href="https://pythonbasics.org/flask-sqlite/"&gt;sqlite&lt;/a&gt;, &lt;a href="https://python-commandments.org/python-mysql-tutorial/"&gt;mysql&lt;/a&gt; or even an &lt;a href="https://pythonspot.com/orm-with-sqlalchemy/"&gt;object relational manager&lt;/a&gt;, but you don't have to. You are free to create your own app design, you can even chose not to use a database at all.&lt;/p&gt;

&lt;p&gt;You can add any Python modules to your Python Flask web app!&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>How to build websites with Python</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Tue, 07 Jul 2020 10:30:01 +0000</pubDate>
      <link>https://dev.to/importostar/how-to-build-websites-with-python-2g0h</link>
      <guid>https://dev.to/importostar/how-to-build-websites-with-python-2g0h</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/u_JOjfArkhQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/l/IMzBy"&gt;Learn Flask, Python Web Development&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This explains how to build Python web apps, how to deploy it, how to do routing, templates etc. This will really improve your Python skills.&lt;/p&gt;

&lt;p&gt;A module that lets you do that is the Flask module. Large companies are using Python Flask in order to create their web apps, so you don't have to worry about scale to much. You can use it to build a web app or an &lt;a href="https://pythonbasics.org/flask-rest-api/"&gt;API&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to make &lt;a href="https://pythonprogramminglanguage.com/python-flask-tutorial/"&gt;websites&lt;/a&gt; or &lt;a href="https://pythonspot.com/flask-web-app-with-python/"&gt;web apps&lt;/a&gt; with Python you can with Flask. &lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>How to debug a Flask app?</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Tue, 07 Jul 2020 10:23:24 +0000</pubDate>
      <link>https://dev.to/importostar/how-to-debug-a-flask-app-3mhf</link>
      <guid>https://dev.to/importostar/how-to-debug-a-flask-app-3mhf</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/BRZYR6nbd2o"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/l/IMzBy"&gt;Learn Flask, Python Web Development&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to debug your Python Flask app, that's easy to do. So what you want to do is, in your app object add the parameter debug is true. &lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app.run(debug=True)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The  app then outputs a lot more data.  All of the data is shown in the terminal.&lt;/p&gt;

&lt;p&gt;For more Python debugging, you can reference this article &lt;a href="https://pythonspot.com/python-debugging/"&gt;https://pythonspot.com/python-debugging/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>What is Python Flask?</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Tue, 07 Jul 2020 10:05:58 +0000</pubDate>
      <link>https://dev.to/importostar/what-is-python-flask-465e</link>
      <guid>https://dev.to/importostar/what-is-python-flask-465e</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/A07Fwy4nYHA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Learn Flask: &lt;a href="https://gumroad.com/l/IMzBy"&gt;https://gumroad.com/l/IMzBy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to make web apps in Python, like a SaaS. You can. There are several frameworks to chose from like Tornado, web2py, Django and Flask. Flask is a module (framework) for Python. You can use this module to build your web apps. &lt;/p&gt;

&lt;p&gt;You can link any web url to a Python function, and the output of that Python function is shown to you in the browser.  You can output strings, but you can also output &lt;a href="https://pythonbasics.org/flask-tutorial-templates/"&gt;templates&lt;/a&gt;. Data can be added to a template, and show in a nice format. Flask uses the &lt;a href="https://pythonspot.com/jinja2-template-engine/"&gt;Jinja2&lt;/a&gt; template engine.&lt;/p&gt;

&lt;p&gt;Flask gives you a lot of freedom in terms of designing your app. You can just load the Flask module and add any other modules you want. Unike &lt;a href="https://pythonprogramminglanguage.com/python-flask-vs-django/"&gt;Django&lt;/a&gt; that forces you to use an &lt;a href="https://pythonspot.com/orm-with-sqlalchemy/"&gt;ORM&lt;/a&gt; etc. Flask lets you add what you want, so you are free to add a database, orm (or not) etc.&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Learn Flask for Webdev</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Sat, 27 Jun 2020 09:49:10 +0000</pubDate>
      <link>https://dev.to/importostar/learn-flask-for-webdev-4533</link>
      <guid>https://dev.to/importostar/learn-flask-for-webdev-4533</guid>
      <description>&lt;p&gt;Flask is a Python framework that you can use to make Web Apps with Python. Python doesn't have to be only in the terminal, you can create any web app with Python Flask.&lt;/p&gt;

&lt;p&gt;This is a collection of articles to help you get started with the Python Flask framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Flask?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pypi.org/project/Flask/"&gt;Flask framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonbasics.org/what-is-flask-python/"&gt;What is Flask?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonprogramminglanguage.com/python-flask-tutorial/"&gt;Flask tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonprogramminglanguage.com/python-flask-example/"&gt;Flask example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonprogramminglanguage.com/python-flask-framework/"&gt;Flask framework&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  First Apps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pythonbasics.org/flask-tutorial-hello-world/"&gt;Hello world&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonbasics.org/flask-tutorial-templates/"&gt;Templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonbasics.org/flask-tutorial-routes/"&gt;Routing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonspot.com/flask-web-app-with-python/"&gt;Create epic app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonprogramminglanguage.com/python-flask-rest-api/"&gt;Flask API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonspot.com/flask-web-forms/"&gt;Flask web forms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Advanced
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pythonprogramminglanguage.com/python-flask-vs-django/"&gt;Flask vs Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonprogramminglanguage.com/python-flask-websocket/"&gt;Flask Websocket&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonprogramminglanguage.com/python-flask-docker/"&gt;Flask docker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>import keyword with example in Python</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Sat, 27 Jun 2020 09:31:41 +0000</pubDate>
      <link>https://dev.to/importostar/import-keyword-with-example-in-python-j9i</link>
      <guid>https://dev.to/importostar/import-keyword-with-example-in-python-j9i</guid>
      <description>&lt;p&gt;Python &lt;strong&gt;import&lt;/strong&gt; keyword: so you can know about the &lt;strong&gt;import keyword with example&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Its used to get modules and a module is like a building block: it has many functions available. You can use &lt;a href="https://pythonbasics.org/how-to-use-pip-and-pypi/"&gt;pip&lt;/a&gt; to install modules.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python import keyword
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;import&lt;/strong&gt; is a python keyword used to import module in a script&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax of import keyword&lt;/strong&gt;    &lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    import module_name
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Python Example:&lt;/strong&gt;    &lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    import math
    # this will load the math module    
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Python examples of import keyword
&lt;/h3&gt;

&lt;p&gt;Import the math module in this script and call a function&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import math
num = 5

# call function in module
result = math.factorial(num)

# print output
print("The factorial of ", num, " is = ", result)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The program above outputs this:    &lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The factorial of  5  is =  120
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Example 2:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Module load datetime and name the present day, month and year&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import datetime

# create date object
dt = datetime.datetime.now()

# get day, month and year
print("day  : ", dt.day)
print("month: ", dt.month)
print("year : ", dt.year)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The program above outputs this:    &lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;day  :  27
month:  7
year :  2020
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;You can use modules to add all kinds of functionality to your program. Using modules could create a &lt;a href="https://python-commandments.org/tkinter-canvas/"&gt;canvas&lt;/a&gt;, &lt;a href="https://pythonpyqt.com/"&gt;gui with pyqt&lt;/a&gt;, &lt;a href="https://gitpress.io/u/1282/bmi_gui"&gt;bmi calculator&lt;/a&gt;, &lt;a href="https://pythonprogramminglanguage.com/python-flask-framework/"&gt;web app&lt;/a&gt; etc. You can &lt;a href="https://pythonspot.com/python-modules/"&gt;create modules&lt;/a&gt; if you want.&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>tkinter gui</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Fri, 26 Jun 2020 08:30:42 +0000</pubDate>
      <link>https://dev.to/importostar/tkinter-gui-43o0</link>
      <guid>https://dev.to/importostar/tkinter-gui-43o0</guid>
      <description>&lt;p&gt;You learn the basic idea of the Python GUI programming via the tkinter module in this post. This tutorial is mainly designed to understand the simple tkinter concept that allows you to build any Python GUI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GUI:&lt;/strong&gt; GUI is a basic program that allows users to communicate with their machine through a graphical interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  GUI tkinter module
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;tkinter&lt;/strong&gt; is a built-in Python framework for GUI development.&lt;/p&gt;

&lt;p&gt;Python offers a variety of GUI choices like &lt;strong&gt;tkinter&lt;/strong&gt;, &lt;a href="https://pythonpyqt.com/"&gt;pyqt&lt;/a&gt; and others.&lt;/p&gt;

&lt;p&gt;The most popular way to create a graphical application is &lt;strong&gt;tkinter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Apps are constructed like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import the tkinter module&lt;/li&gt;
&lt;li&gt;Build the window of the GUI application&lt;/li&gt;
&lt;li&gt;In the main window of a Interface program, add some amount of widgets &lt;/li&gt;
&lt;li&gt;Start the main loop
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tkinter&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tk&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;tkinter&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="n"&gt;Example&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tk&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;rad1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Radiobutton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Example&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'Content'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rad1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pack&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;rad2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Radiobutton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Example&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'Software'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rad2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pack&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Example&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'Welcome to Example'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pack&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="n"&gt;Example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mainloop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r6ebj3oV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1j9v63c91b6bobw0ach8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r6ebj3oV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1j9v63c91b6bobw0ach8.png" alt="tk example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;.mainloop()&lt;/code&gt; when ready to run a program. This shows the window until it's closed.&lt;/p&gt;

&lt;p&gt;Widgets can be placed in 3 ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;pack()&lt;/strong&gt;: &lt;br&gt;
the widgets put in the widget parent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;grid()&lt;/strong&gt;: &lt;br&gt;
the grid widgets are put in the parent widget.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;place()&lt;/strong&gt;: &lt;br&gt;
positions them at different points that we control. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tkinter lets you place all kinds of &lt;a href="https://pythonspot.com/tk-widgets/"&gt;widgets&lt;/a&gt; like &lt;a href="https://pythonbasics.org/tkinter-button/"&gt;buttons&lt;/a&gt;, &lt;a href="https://pythonbasics.org/tkinter-radiobutton/"&gt;radiobuttons&lt;/a&gt;, &lt;a href="https://pythonbasics.org/tkinter-listbox/"&gt;listbox&lt;/a&gt; etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# button
&lt;/span&gt;&lt;span class="n"&gt;button_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;tkinter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
       &lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
       &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'your text'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
       &lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'width_of_text'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
       &lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'function to call'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# radio button    
&lt;/span&gt;&lt;span class="n"&gt;rad1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Radiobutton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
       &lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
       &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'your text'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
       &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;numerical_value&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;pack&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# listbox
&lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Listbox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nexttext&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Entry
&lt;/span&gt;&lt;span class="n"&gt;label1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Label&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'Name'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;label2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Label&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'password'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;entry_in_label1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Entry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;entry_in_label2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Entry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;entry_in_label1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;entry_in_label2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You can make a GUI for any type of code, like a &lt;a href="https://gitpress.io/u/1282/bmi_gui"&gt;bmi calculator&lt;/a&gt;, &lt;a href="https://pythonspot.com/tk-message-box/"&gt;notifications&lt;/a&gt;, &lt;a href="https://python-commandments.org/tkinter-progressbar/"&gt;progressbar&lt;/a&gt;, &lt;a href="https://python-commandments.org/tkinter-canvas/"&gt;canvas&lt;/a&gt; etc.&lt;/p&gt;

&lt;p&gt;If you are new to tkinter, I recommend &lt;a href="https://gumroad.com/l/ErLc"&gt;this course&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>python list directory files</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Mon, 22 Jun 2020 21:19:52 +0000</pubDate>
      <link>https://dev.to/importostar/python-list-directory-files-4h5d</link>
      <guid>https://dev.to/importostar/python-list-directory-files-4h5d</guid>
      <description>&lt;p&gt;Do you want to find out how to display all directory's files using Python?&lt;/p&gt;

&lt;p&gt;You can use &lt;code&gt;os.walk()&lt;/code&gt; or &lt;code&gt;glob()&lt;/code&gt; in the Python programming language. &lt;/p&gt;

&lt;p&gt;To list files and folders you can use &lt;code&gt;os.walk()&lt;/code&gt;. From there you can do specific &lt;a href="https://python-commandments.org/python-file-handling/"&gt;file handling&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Did you know Python can &lt;a href="https://pythonspot.com/http-download-file-with-python/"&gt;download files&lt;/a&gt; from the web?&lt;/p&gt;

&lt;h2&gt;
  
  
  List files and folders
&lt;/h2&gt;

&lt;h2&gt;
  
  
  os.walk()
&lt;/h2&gt;

&lt;p&gt;List all the Python files in the directory&lt;br&gt;
and subdirectories:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;                                                                       
&lt;span class="n"&gt;files&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;                                                                     
&lt;span class="n"&gt;cwd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getcwd&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;                                                               
&lt;span class="c1"&gt;# (r)oot, (d)irectory, (f)iles                                                  
&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;walk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cwd&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;                                                      
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;                                                              
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s"&gt;'.py'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;                                                       
            &lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;                                  

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;                                                                 
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;      
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;List folders and sub folders&lt;/p&gt;

&lt;p&gt;You can also use &lt;code&gt;os.walk()&lt;/code&gt; to get the folders and sub-folders.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="n"&gt;cwd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getcwd&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"folder {}"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cwd&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;folders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;walk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cwd&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;folder&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;folders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;folder&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;folders&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You can &lt;a href="https://pythonprogramminglanguage.com/how-to-run/"&gt;run&lt;/a&gt; this both in the terminal and the web.&lt;/p&gt;

&lt;h2&gt;
  
  
  glob.glob()
&lt;/h2&gt;

&lt;p&gt;The function &lt;code&gt;.glob()&lt;/code&gt; can be used for the same purpose. To list all files with the py extension&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;glob&lt;/span&gt;                                                                     
&lt;span class="n"&gt;cwd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"/home/you/Desktop/"&lt;/span&gt;                                                    
&lt;span class="n"&gt;files&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;glob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;glob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cwd&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;"**/*.py"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;recursive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;                 
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;                                                                 
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;    
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;To list all folders and sub folders&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;glob&lt;/span&gt;
&lt;span class="n"&gt;cwd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"/home/you/Desktop/"&lt;/span&gt;
&lt;span class="n"&gt;folders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;glob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;glob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cwd&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;"**/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;recursive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;folders&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
     &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;If you are new to Python, I suggest this &lt;a href="https://gumroad.com/l/dcsp"&gt;Python book and course&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>GUI with Python</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Mon, 22 Jun 2020 16:05:49 +0000</pubDate>
      <link>https://dev.to/importostar/gui-with-python-7mp</link>
      <guid>https://dev.to/importostar/gui-with-python-7mp</guid>
      <description>&lt;p&gt;You can build a GUI or graphical interface with Python, it's not just all terminal.&lt;/p&gt;

&lt;p&gt;Yes, you can make desktop apps with Python. This looks like any other app on your computer like&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XGOx7okS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.pinimg.com/564x/39/12/25/391225dd918067e4311da9831070675a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XGOx7okS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.pinimg.com/564x/39/12/25/391225dd918067e4311da9831070675a.jpg" alt="python pyqt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see more screenshots of things you can make &lt;a href="https://nl.pinterest.com/detimo3313/pyqt/"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So is it hard to make GUI apps with Python?&lt;/p&gt;

&lt;p&gt;Well, you should first know the &lt;a href="https://pythonbasics.org"&gt;basics of Python&lt;/a&gt;. It has some learning curve but it's not rocket science.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Python GUI
&lt;/h2&gt;

&lt;p&gt;Basically you have to install the PyQt module and load it. Then you can create a window and add all kinds of widgets to it.&lt;/p&gt;

&lt;p&gt;For example, the "hello world" app looks like this (source: &lt;a href="https://pythonpyqt.com/pyqt-hello-world/"&gt;pyqt&lt;/a&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;PyQt5.QtWidgets&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;QApplication&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;QWidget&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;QPushButton&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;QHBoxLayout&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;    
    &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;QApplication&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;w&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;QWidget&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;    
    &lt;span class="n"&gt;layout&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;QHBoxLayout&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;btn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;QPushButton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello World!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;layout&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addWidget&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;btn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setLayout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;layout&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;resize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;move&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setWindowTitle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Simple'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exec_&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uBePzG_X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pythonpyqt.com/images/pyqt-button.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uBePzG_X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pythonpyqt.com/images/pyqt-button.png" alt="pyqt button"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It adds a button, resizes window, sets a window title etc. PyQt has a widget for everything you can think of, so regardless of whether you want to make a web browser, an office suite or anything else you can.&lt;/p&gt;

&lt;p&gt;If you are new to PyQt, then &lt;a href="https://gumroad.com/l/pysqtsamples"&gt;this is a good course&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Zen of Python</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Sun, 21 Jun 2020 19:58:57 +0000</pubDate>
      <link>https://dev.to/importostar/zen-of-python-316l</link>
      <guid>https://dev.to/importostar/zen-of-python-316l</guid>
      <description>&lt;p&gt;Zen of Python is a set of 19 "core values" that guide the structure of the Python language for computer programs. &lt;/p&gt;

&lt;p&gt;There's an easter egg in Python, you can use &lt;code&gt;import this&lt;/code&gt; to load the "Zen of Python".&lt;/p&gt;

&lt;p&gt;The core values are:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one—and preferably only one—obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than right now.[a]
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea—let's do more of those!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;As usual with the internet, things evolve. For example, this became a &lt;a href="https://www.youtube.com/watch?v=i6G6dmVJy74&amp;amp;feature=youtu.be"&gt;song&lt;/a&gt; and a &lt;a href="https://marketplace.visualstudio.com/items?itemName=detimo.zen&amp;amp;ssr=false"&gt;visual studio code extension&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eitherway, this philosophy is the core of Python.  You can see the proposal from 2004 &lt;a href="https://www.python.org/dev/peps/pep-0020/"&gt;PEP20&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beautiful is better than ugly&lt;/strong&gt;&lt;br&gt;
Use OR instead of ||, use AND instead of ||&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explicit is better than implicit&lt;/strong&gt;&lt;br&gt;
Code is readable by anyone&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple is better than complex&lt;/strong&gt;&lt;br&gt;
a simple solution is always better than a complex one. So you have &lt;code&gt;print("Hello")&lt;/code&gt; instead of &lt;code&gt;sys.out.println("hello")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flat is better than nested.&lt;/strong&gt;&lt;br&gt;
When something is not flat, it's nested. A nested loop for example is&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;apples&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;breads&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;codes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;you can see this gets confusing fast, so flat is better than nested. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Readability counts&lt;/strong&gt;&lt;br&gt;
If readability didn't matter, we'd all be writing in binary code. Readability matters when it comes to programming&lt;/p&gt;

&lt;p&gt;You can see all these &lt;a href="https://python-commandments.org/zen-of-python/"&gt;zen&lt;/a&gt; principles are part of the Python design.&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>What does if __name__ == '__main__': do in Python?</title>
      <dc:creator>importostar</dc:creator>
      <pubDate>Sun, 21 Jun 2020 15:15:06 +0000</pubDate>
      <link>https://dev.to/importostar/what-does-if-name-main-do-in-python-2j44</link>
      <guid>https://dev.to/importostar/what-does-if-name-main-do-in-python-2j44</guid>
      <description>&lt;p&gt;What does &lt;code&gt;if __name__ = '__main__'&lt;/code&gt; mean?  &lt;/p&gt;

&lt;p&gt;You can sometimes see this in &lt;a href="https://python.org"&gt;Python&lt;/a&gt; script, in general this is where your Python program starts. &lt;/p&gt;

&lt;p&gt;In many other languages, the computer program starts with a main() function. That can be the case in Python too.&lt;/p&gt;

&lt;h2&gt;
  
  
  main value
&lt;/h2&gt;

&lt;p&gt;Let us do a quick exercise in order to grasp the specifics of the main function and the &lt;a href="https://python-commandments.org/python-if-else-elif-statement/"&gt;if statement&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"module_name :{}"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://pythonprogramminglanguage.com/how-to-run/"&gt;Run the Python&lt;/a&gt; file and execute the file as python3 script &lt;/p&gt;

&lt;p&gt;The outcome of the app in this example states that the &lt;a href="https://pythonspot.com/python-variables/"&gt;variable&lt;/a&gt; name has a &lt;strong&gt;main&lt;/strong&gt; value.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"module_name :{}"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;module_name&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;__main__&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;So what is this main?&lt;/p&gt;

&lt;h2&gt;
  
  
  What does if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;": do?
&lt;/h2&gt;

&lt;p&gt;When the above condition is tested, it must be verified whether the file is run directly by or &lt;a href="https://pythonbasics.org/modules/"&gt;imported&lt;/a&gt; by python.&lt;/p&gt;

&lt;p&gt;The explanation demonstrates this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"module_name :{}"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"run from import"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;That's because you can import any Python script but most of the times you only want access to the functions&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UYFci_ov--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/897pkqxeyogv2dj5f3z8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UYFci_ov--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/897pkqxeyogv2dj5f3z8.png" alt="python main function"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like &lt;code&gt;import math&lt;/code&gt; shouldn't execute sin, cos, pow etc automatically, you import it because you want it available.&lt;/p&gt;

&lt;p&gt;If you are new to Python, I suggest &lt;a href="https://gumroad.com/l/dcsp"&gt;this book&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
