{"id":539,"date":"2020-06-04T07:29:00","date_gmt":"2020-06-04T04:29:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=539"},"modified":"2026-02-24T11:21:04","modified_gmt":"2026-02-24T08:21:04","slug":"python-from-zero-to-hero","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/python-from-zero-to-hero\/","title":{"rendered":"Python from zero to hero"},"content":{"rendered":"<p>In this not TLDR article (I hope) we will go over all the basic concepts and constructs of the Python scripting programming language.<\/p>\n\n\n\n<p>H <strong>Python<\/strong> it is an interpreted language and not compiled which means that the translation of the program into machine language is not done all at once when we choose to compile but you run directly and translate directly from the interpreter per command line. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Shebang line<\/h5>\n\n\n\n<p>At <strong>sheband line<\/strong> which should be the first line of our code, we declare the path where Python (the interpreter) is installed.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">#!\/usr\/bin\/python3.6<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Print<\/h5>\n\n\n\n<p>At <strong>Python<\/strong> we define variables without having to declare them with their datatype. With the function print we display either the variable or directly what we have assigned to it.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">a=2+3\nprint(type(a))\nprint(a)\n<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&lt;class 'int'&gt;\n5\n<\/code><\/pre>\n\n\n\n<p>When we set to a variable with quote it is defined as <strong>string<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">a='2'+'3'\nprint(type(a))\nprint(a)\n<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&lt;class 'str'&gt;\n23<\/code><\/pre>\n\n\n\n<p>When we use it <strong>print <\/strong>function we can use the parameter <strong>sep<\/strong> to separate the data from each other or the <strong>end<\/strong> to be added to the end of the line.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print('0','1','2','3',sep='-')\nprint('0','1','2','3',end='-')\n<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>0-1-2-3\n0 1 2 3-\n<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Loops<\/h5>\n\n\n\n<p>Let&#039;s go to examples of loops with <strong>for <\/strong>and <strong>while<\/strong>. Don&#039;t forget that the <strong>range <\/strong>starts at 0 and goes up to the value we set excluding this value.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">for i in range(0,3):\n    print(i)<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>0\n1\n2<\/code><\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">i = 0\nwhile i &lt; 3:\n  print(i)\n  i = i + 1<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>0\n1\n2<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Data structures<\/h5>\n\n\n\n<p>In Python we use 3 <strong>structures <\/strong>data <strong>lists<\/strong>, <strong>tuples <\/strong>and <strong>dictionary<\/strong>. We can also use combinations such as lists or a dictionary containing tuples.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Lists<\/h5>\n\n\n\n<p>H <strong>list<\/strong> is an array of data that allows changes such as sorting, removing or adding data.<\/p>\n\n\n\n<p>Defined as =[a,b].<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">list = ['\u03bc\u03c0\u03b1\u03bd\u03ac\u03bd\u03b1','\u03bc\u03ae\u03bb\u03bf','\u03ba\u03b5\u03c1\u03ac\u03c3\u03b9','\u03c6\u03c1\u03ac\u03bf\u03c5\u03bb\u03b1']\nprint(type(list))\nprint(list)\n<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&lt;class 'list'&gt;\n&#91;'\u03bc\u03c0\u03b1\u03bd\u03ac\u03bd\u03b1', '\u03bc\u03ae\u03bb\u03bf', '\u03ba\u03b5\u03c1\u03ac\u03c3\u03b9', '\u03c6\u03c1\u03ac\u03bf\u03c5\u03bb\u03b1']<\/code><\/pre>\n\n\n\n<p>We can choose from which value to which we want to fetch with the first value being 0<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(list[1:3])<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&#91;'\u03bc\u03ae\u03bb\u03bf', '\u03ba\u03b5\u03c1\u03ac\u03c3\u03b9']<\/code><\/pre>\n\n\n\n<p>We can also bring them in reverse order<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(list[::-1])<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&#91;'\u03c6\u03c1\u03ac\u03bf\u03c5\u03bb\u03b1', '\u03ba\u03b5\u03c1\u03ac\u03c3\u03b9', '\u03bc\u03ae\u03bb\u03bf', '\u03bc\u03c0\u03b1\u03bd\u03ac\u03bd\u03b1']<\/code><\/pre>\n\n\n\n<p>We can remove and add data.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">list.append('\u03b1\u03bd\u03b1\u03bd\u03ac\u03c2')\nlist.remove('\u03c6\u03c1\u03ac\u03bf\u03c5\u03bb\u03b1')\nprint(list)<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&#91;'\u03bc\u03c0\u03b1\u03bd\u03ac\u03bd\u03b1', '\u03bc\u03ae\u03bb\u03bf', '\u03ba\u03b5\u03c1\u03ac\u03c3\u03b9', '\u03b1\u03bd\u03b1\u03bd\u03ac\u03c2']<\/code><\/pre>\n\n\n\n<p>We can put it in alphabetical order.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">list.sort()\nprint(list)<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&#91;'\u03b1\u03ba\u03c4\u03b9\u03bd\u03af\u03b4\u03b9\u03bf', '\u03b1\u03bd\u03b1\u03bd\u03ac\u03c2', '\u03ba\u03b5\u03c1\u03ac\u03c3\u03b9', '\u03bc\u03ae\u03bb\u03bf', '\u03bc\u03c0\u03b1\u03bd\u03ac\u03bd\u03b1', '\u03c3\u03cd\u03ba\u03bf']<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Tuples<\/h5>\n\n\n\n<p>That <strong>tuple <\/strong>it is like a list with the difference that it is immutable, i.e. it does not accept changes. <\/p>\n\n\n\n<p>Defined as = (a,b)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">tuple = (1, 2, 3, '\u03c0\u03b1\u03c0\u03ac\u03ba\u03b9')\nprint(type(tuple))\nprint(tuple)<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>&lt;class 'tuple'&gt;\n(1, 2, 3, '\u03c0\u03b1\u03c0\u03ac\u03ba\u03b9')<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Dictionaries<\/h5>\n\n\n\n<p>That <strong>dictionary <\/strong>it is like a list with the difference that its structure is divided into key and value. The key is like the title of the field and must be unique.<\/p>\n\n\n\n<p>Defined as ={key:value}.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">dictionary = {'onoma':('Stratos','Nikos','Maria'),'epitheto':('Matzouranis','Georgiou','Papa')}\nprint(dictionary)\n<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>{'onoma': ('Stratos', 'Nikos', 'Maria'), 'epitheto': ('Matzouranis', 'Georgiou', 'Papa')}<\/code><\/pre>\n\n\n\n<p>With the command.<strong>key <\/strong>we can see the keys it has.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(dictionary.keys())<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>dict_keys(&#91;'onoma', 'epitheto'])<\/code><\/pre>\n\n\n\n<p>We can print all the names belonging to the name key:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(dictionary.keys())<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>dict_keys(&#91;'onoma', 'epitheto'])<\/code><\/pre>\n\n\n\n<p>We can print all the names belonging to the name key:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(dictionary['onoma'])<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>('Stratos', 'Nikos', 'Maria')<\/code><\/pre>\n\n\n\n<p>We can only print the third name:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(dictionary['onoma'][2])<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>Maria<\/code><\/pre>\n\n\n\n<p>or all prices:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(dictionary.values())<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>dict_values(&#91;('Stratos', 'Nikos', 'Maria'), ('Matzouranis', 'Georgiou', 'Papa')])<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Create and view a multidimensional array<\/h5>\n\n\n\n<p>Let&#039;s do something more advanced, a 4\u00d73 list printed as a table. To achieve this we should use loops like below:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">z = [\n    [i for i in range(4)] \n         for j in range(3)\n    ]\nfor rows in range(len(z)):\n        for col in range(len(z[0])):\n            print(z[rows][col],end='|')\n        print('\\n-----------')\n<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>0|1|2|3|\n-----------\n0|1|2|3|\n-----------\n0|1|2|3|\n-----------\n<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Functions<\/h5>\n\n\n\n<p>A piece of code that you only run when we call it is called <strong>function<\/strong>. The function can accept parameters that will affect its execution. Let&#039;s look at an example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">def Dokimifunction(onoma,posa=1):\n    timi = onoma+'!'*posa\n    return timi;<\/pre>\n\n\n\n<p>This function accepts as a parameter a name and as a second parameter a number, which number is the number of times the exclamation mark will appear at the end. In the parameters we can give a default value so that if it has not been declared it will apply:<\/p>\n\n\n\n<p>*if we didn&#039;t do it when we didn&#039;t define the number, it would return an error.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">xristis='\u039a\u03ce\u03c3\u03c4\u03b1\u03c2'\nprint(Dokimifunction(xristis))\nprint(Dokimifunction(xristis,5))\n<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>\u039a\u03ce\u03c3\u03c4\u03b1\u03c2!\n\u039a\u03ce\u03c3\u03c4\u03b1\u03c2!!!!!<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Error Handling<\/h5>\n\n\n\n<p>Let&#039;s see what the value of the &quot;timi&quot; parameter defined in the function is:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">print(timi)<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>---------------------------------------------------------------------------\nNameError                                 Traceback (most recent call last)\n&lt;ipython-input-226-e0b6617a2c0c&gt; in &lt;module&gt;\n----&gt; 1 print(timi)\n\nNameError: name 'timi' is not defined\n<\/code><\/pre>\n\n\n\n<p>Oh... the variables inside a function by default are not global, so an opportunity to see how it works <strong>error handling<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>try:\n    print(timi)\nexcept:\n    print(\"Oops! \u0394\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9...\")\n\nOops! \u0394\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9...\n<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Classes<\/h5>\n\n\n\n<p>To be able to inherit an object with a set of properties and methods from an initial design we need classes.<\/p>\n\n\n\n<p>The class consists of one <strong>constructor <\/strong>called&nbsp;<strong>init<\/strong>&nbsp;and passes its properties to the object being created, a constructor for the parameters called&nbsp;<strong>self<\/strong>&nbsp;and from there on we can add other parameters and other functions that it will contain.<\/p>\n\n\n\n<p>Let&#039;s build a quick class that can add and display two numbers:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">class Prosthesi: \n    a = 0\n    b = 0\n    apotelesma = 0\n      \n    #To def __init__ \u03bf\u03bd\u03bf\u03bc\u03ac\u03b6\u03b5\u03c4\u03b1\u03b9 constructor \u03ba\u03b1\u03b9 \u03c7\u03c1\u03b5\u03b9\u03ac\u03b6\u03b5\u03c4\u03b1\u03b9 \u03c0\u03ac\u03bd\u03c4\u03b1 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03b7\u03b8\u03b5\u03af \u03c4\u03bf object.\n    #self \u03b5\u03af\u03bd\u03b1\u03b9 \u03bf constructor \u03c4\u03b7\u03c2 \u03b1\u03c1\u03c7\u03b9\u03ba\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7\u03c2 \u03c4\u03c9\u03bd \u03c0\u03b1\u03c1\u03b1\u03bc\u03ad\u03c4\u03c1\u03c9\u03bd \n    def __init__(self, timi_tou_a, timi_tou_b): \n        self.a = timi_tou_a\n        self.b = timi_tou_b\n      \n    def show(self): \n        print(\"\u03bf \u03c0\u03c1\u03ce\u03c4\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 = \" + str(self.a)) \n        print(\"\u03bf \u03b4\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 = \" + str(self.b)) \n        print(\"\u03b7 \u03c0\u03c1\u03cc\u03c3\u03b8\u03b5\u03c3\u03b7 = \" + str(self.apotelesma)) \n  \n    def ipologise(self): \n        self.apotelesma = self.a + self.b\n<\/pre>\n\n\n\n<p>To make the object with the <strong>legacy <\/strong>of the class for the numbers 13 and 28 we execute the following:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">mathimatika=(Prosthesi(13,28))<\/pre>\n\n\n\n<p>With the name of the function we can call it:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">mathimatika.show()<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>\u03bf \u03c0\u03c1\u03ce\u03c4\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 = 13\n\u03bf \u03b4\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 = 28\n\u03b7 \u03c0\u03c1\u03cc\u03c3\u03b8\u03b5\u03c3\u03b7 = 0<\/code><\/pre>\n\n\n\n<p>We see that the addition returned zero as the function that does the calculation first was not executed. Let&#039;s go again:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">mathimatika.ipologise()\nmathimatika.show()<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>\u03bf \u03c0\u03c1\u03ce\u03c4\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 = 13\n\u03bf \u03b4\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 = 28\n\u03b7 \u03c0\u03c1\u03cc\u03c3\u03b8\u03b5\u03c3\u03b7 = 41<\/code><\/pre>\n\n\n\n<p>We see this time it worked fine.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Modules<\/h5>\n\n\n\n<p>We can import a package of functions, classes and variables called module with the import command.<\/p>\n\n\n\n<p>Let&#039;s see how we introduce a builtin module for mathematics and call a function to calculate pi:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">import math\nprint(math.pi)<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>3.141592653589793<\/code><\/pre>\n\n\n\n<p>We can also load only specific functions from the module.<\/p>\n\n\n\n<p>We can also define an alias for it so that we don&#039;t have to call it with the whole name of the module plus the function:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">from random import randrange as rr\n\n#random.randrange(100) \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf \u03af\u03b4\u03b9\u03bf \u03bc\u03b5 \u03c4\u03bf \u03b1\u03c0\u03cc \u03ba\u03ac\u03c4\u03c9.\nrr(100)\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">How to install a module<\/h5>\n\n\n\n<p>To install a custom module from the internet the command is&nbsp;<strong>pip install<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">pip install pandas<\/pre>\n\n\n\n<p>I hope you endured until the end, in other articles we will see examples with custom libraries where its real capabilities are hidden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sources:<\/h2>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/pythoninstitute.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/pythoninstitute.org\/<\/a><\/li>\n<\/ul>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>In this not TLDR article (I hope) we will go over all the basic concepts and constructs of the Python scripting programming language. Python is an interpreted language and not compiled, which means that the translation of the program into machine language is not done all at once when we choose to compile, but you run directly and translate directly [...]<\/p>","protected":false},"author":1,"featured_media":699,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[92,9],"class_list":["post-539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-programming","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python from zero to hero - DataPlatform.gr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dataplatform.gr\/en\/python-from-zero-to-hero\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python from zero to hero - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03cc\u03c7\u03b9 TLDR \u03ac\u03c1\u03b8\u03c1\u03bf (\u03b5\u03bb\u03c0\u03af\u03b6\u03c9) \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03cc\u03bb\u03b5\u03c2 \u03c4\u03b9\u03c2 \u03b2\u03b1\u03c3\u03b9\u03ba\u03ad\u03c2 \u03ad\u03bd\u03bd\u03bf\u03b9\u03b5\u03c2 \u03ba\u03b1\u03b9 \u03b4\u03bf\u03bc\u03ad\u03c2 \u03c4\u03b7\u03c2 scripting \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1\u03c2 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03bf\u03cd Python. H Python \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03b9\u03b1 interpreted \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1 \u03ba\u03b1\u03b9 \u03cc\u03c7\u03b9 compiled \u03c0\u03c1\u03ac\u03b3\u03bc\u03b1 \u03c0\u03bf\u03c5 \u03c3\u03b7\u03bc\u03b1\u03af\u03bd\u03b5\u03b9 \u03cc\u03c4\u03b9 \u03b7 \u03bc\u03b5\u03c4\u03ac\u03c6\u03c1\u03b1\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03c0\u03c1\u03bf\u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03bf\u03c2 \u03c3\u03b5 \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1 \u03bc\u03b7\u03c7\u03b1\u03bd\u03ae\u03c2 \u03b4\u03b5\u03bd \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03cc\u03bb\u03b7 \u03bc\u03b1\u03b6\u03af \u03cc\u03c4\u03b1\u03bd \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 compile \u03b1\u03bb\u03bb\u03ac \u03b5\u03ba\u03c4\u03b5\u03bb\u03b5\u03af\u03c4\u03b5 \u03ba\u03b1\u03c4\u03b5\u03c5\u03b8\u03b5\u03af\u03b1\u03bd \u03ba\u03b1\u03b9 \u03bc\u03b5\u03c4\u03b1\u03c6\u03c1\u03ac\u03b6\u03b5\u03c4\u03b5 \u03b1\u03c0\u03b5\u03c5\u03b8\u03b5\u03af\u03b1\u03c2 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/python-from-zero-to-hero\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-04T04:29:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-24T08:21:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_python.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"Python from zero to hero\",\"datePublished\":\"2020-06-04T04:29:00+00:00\",\"dateModified\":\"2026-02-24T08:21:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/\"},\"wordCount\":124,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_python.png\",\"keywords\":[\"Programming\",\"Python\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/\",\"name\":\"Python from zero to hero - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_python.png\",\"datePublished\":\"2020-06-04T04:29:00+00:00\",\"dateModified\":\"2026-02-24T08:21:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_python.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_python.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/python-from-zero-to-hero\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/python\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python from zero to hero\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python from zero to hero - DataPlatform.gr","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:\/\/www.dataplatform.gr\/en\/python-from-zero-to-hero\/","og_locale":"en_US","og_type":"article","og_title":"Python from zero to hero - DataPlatform.gr","og_description":"\u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03cc\u03c7\u03b9 TLDR \u03ac\u03c1\u03b8\u03c1\u03bf (\u03b5\u03bb\u03c0\u03af\u03b6\u03c9) \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03cc\u03bb\u03b5\u03c2 \u03c4\u03b9\u03c2 \u03b2\u03b1\u03c3\u03b9\u03ba\u03ad\u03c2 \u03ad\u03bd\u03bd\u03bf\u03b9\u03b5\u03c2 \u03ba\u03b1\u03b9 \u03b4\u03bf\u03bc\u03ad\u03c2 \u03c4\u03b7\u03c2 scripting \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1\u03c2 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03bf\u03cd Python. H Python \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03b9\u03b1 interpreted \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1 \u03ba\u03b1\u03b9 \u03cc\u03c7\u03b9 compiled \u03c0\u03c1\u03ac\u03b3\u03bc\u03b1 \u03c0\u03bf\u03c5 \u03c3\u03b7\u03bc\u03b1\u03af\u03bd\u03b5\u03b9 \u03cc\u03c4\u03b9 \u03b7 \u03bc\u03b5\u03c4\u03ac\u03c6\u03c1\u03b1\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03c0\u03c1\u03bf\u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03bf\u03c2 \u03c3\u03b5 \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1 \u03bc\u03b7\u03c7\u03b1\u03bd\u03ae\u03c2 \u03b4\u03b5\u03bd \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03cc\u03bb\u03b7 \u03bc\u03b1\u03b6\u03af \u03cc\u03c4\u03b1\u03bd \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 compile \u03b1\u03bb\u03bb\u03ac \u03b5\u03ba\u03c4\u03b5\u03bb\u03b5\u03af\u03c4\u03b5 \u03ba\u03b1\u03c4\u03b5\u03c5\u03b8\u03b5\u03af\u03b1\u03bd \u03ba\u03b1\u03b9 \u03bc\u03b5\u03c4\u03b1\u03c6\u03c1\u03ac\u03b6\u03b5\u03c4\u03b5 \u03b1\u03c0\u03b5\u03c5\u03b8\u03b5\u03af\u03b1\u03c2 [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/python-from-zero-to-hero\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2020-06-04T04:29:00+00:00","article_modified_time":"2026-02-24T08:21:04+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_python.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"Python from zero to hero","datePublished":"2020-06-04T04:29:00+00:00","dateModified":"2026-02-24T08:21:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/"},"wordCount":124,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_python.png","keywords":["Programming","Python"],"articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/","url":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/","name":"Python from zero to hero - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_python.png","datePublished":"2020-06-04T04:29:00+00:00","dateModified":"2026-02-24T08:21:04+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_python.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_python.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/python-from-zero-to-hero\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/www.dataplatform.gr\/category\/python\/"},{"@type":"ListItem","position":3,"name":"Python from zero to hero"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=539"}],"version-history":[{"count":2,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/539\/revisions"}],"predecessor-version":[{"id":5879,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/539\/revisions\/5879"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/699"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}