Γλώσσα προγραμματισμού python

Σχετικά έγγραφα
Θέματα Προγραμματισμού Η/Υ

Εισαγωγή στον Προγ/μό Υπολογιστών

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Πληροφορική ΙΙ Θεματική Ενότητα 3

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΜΑΘΗΜΑΤΑ PYTHON. Καθηγητής Ι. Δημητρίου.

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Τιμές και τύποι, μεταβλητές Ένα πρώτο σημαντικό βήμα για να μάθουμε να προγραμματίζουμε είναι να

ΜΑΘΗΜΑΤΑ PYTHON. Καθηγητής Ι. Δημητρίου.

Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Εισαγωγή στη γλώσσα προγραμματισμού C++

Τύποι δεδομένων, τελεστές, μεταβλητές

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή στην Python Χειμερινό Εξάμηνο 2016

Λογικές εκφράσεις και μεταβλητές

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Εισαγωγή στην Python Χειµερινό Εξάµηνο 2014

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

Κεφάλαιο 1 Εισαγωγή στην Python

Εισαγωγή στον Προγραμματισμό

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Στοιχειώδης προγραμματισμός σε C++

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Μορφοποίηση εξόδου. Σημειώσεις

Πληρουορική Γ Γσμμασίοσ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Σημειωματάριο Τετάρτης 4 Οκτ. 2017

Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ

3 ο Εργαστήριο Μεταβλητές, Τελεστές

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Σφάλματα, εξαιρέσεις, εκσφαλμάτωση Χειμερινό Εξάμηνο 2016

Ανάπτυξη και Σχεδίαση Λογισμικού

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Δομημένος Προγραμματισμός (ΤΛ1006)

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Σημειώσεις. Ο αριθμός των στοιχείων μίας λίστας μπορεί να βρεθεί με χρήση της συνάρτησης len:

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΚΕΦΑΛΑΙΟ 2 ΜΕΤΑΒΛΗΤΈΣ & ΑΡΙΘΜΟΊ

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Θέματα Προγραμματισμού Η/Υ

ΗΥ101: Εισαγωγή στην Πληροφορική

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αλφαριθμητικά Χειμερινό Εξάμηνο 2016

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δεδομένα, τελεστές, είσοδος/έξοδος

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Εντολές επιλογής Επαναλήψεις (if, switch, while)

ΗΥ-150. Προγραμματισμός

Βασικά στοιχεία γλώσσας προγραμματισμού

ΗΥ-150. Προγραμματισμός

Σημειώσεις. Ο αριθμός των στοιχείων μίας λίστας μπορεί να βρεθεί με χρήση της συνάρτησης len:

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

print( x is positive ) Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από το χρήστη:

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Πληροφορική ΙΙ Θεματική Ενότητα 2

ΕΠΛ 012. JavaScripts

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εισαγωγή στην Αριθμητική Ανάλυση

Βασικές Αρχές Προγραμματισμού

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Python & NLTK: Εισαγωγή

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Αντικειµενοστρεφής Προγραµµατισµός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ

Εισαγωγή στην γλώσσα προγραμματισμού C

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Παίρνοντας Αποφάσεις 1

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Βασικά Στοιχεία της Java

Transcript:

Προηγούμενο Σημειώσεις Επόμενο Γλώσσα προγραμματισμού python Η γλώσσα αυτή γράφτηκε από τον Ολλανδό προγραμματιστή Guido van Rossum στα τέλη της δεκαετίας 1980-90. Η έκδοση 2.0 δημοσιεύτηκε στις 16 Οκτωβρίου 2000 και η έκδοση 3.0, η οποία δεν είναι, εν γένει, σύμφωνη (compatible) με τις προηγούμενες εκδόσεις, στις 3 Δεκεμβρίου 2008. Για τις ανάγκες του μαθήματος θα χρησιμοποιήσουμε την έκδοση 3.5. Η python είναι μία γλώσσα <<υψηλού επιπέδου>> (άλλα παραδείγματα τέτοιων γλωσσών είναι η FORTRAN, C, Java κλπ). Ο κώδικας μία τέτοιας γλώσσας πρέπει να μετατραπεί σε <<γλώσσα μηχανής>> ώστε να εκτελεστεί από τον Η/Υ. Η επεξεργασία αυτή γίνεται από διερμηνευτές (interpreters) και μεταγλωττιστές (compilers). Στην περίπτωση της python η επεξεργασία γίνεται από διερνηνευτή. Η Python είναι μια γλώσσα προγραμματισμού με απλό συντακτικό, εξαιρετική αναγνωσιμότητα, φορητότητα (portability) και μοντέρνα χαρακτηριστικά που την κάνουν κατάλληλη ως πρώτη γλώσσα προγραμματισμού. Η επιτυχία της οφείλεται σε μεγάλο βαθμό στο γεγονός ότι είναι ερμηνευόμενη γλώσσα (interpreted language). Αυτό σημαίνει ότι ο μεταγλωττιστής της Python παράγει ενδιάμεσο κώδικα (bytecode) ο οποίος μπορεί να εκτελεστεί από τον διερμηνέα (interpreter) σε πολλά διαφορετικά υπολογιστικά περιβάλλοντα. Διερμηνείς για τη γλώσσα Python υπάρχουν για όλα τα δημοφιλή λειτουργικά συστήματα (Windows, Linux, MacOS). Αν ο προσωπικός σας υπολογιστής χρησιμοποιεί το λειτουργικό σύστημα Linux ή το MacOS τότε η Python είναι ήδη εγκατεστημένη (βεβαιωθείτε όμως ότι έχετε τον διερμηνέα για την Python 3 γράφοντας python3 στη γραμμή εντολών). Διαφορετικά, μπορείτε να εγκαταστήσετε το περιβάλλον εργασίας Python με το όνομα Canopy από την ιστοσελίδα της Enthought. Οι ελεύθερα προσβάσιμοι υπολογιστές του Τμήματος χρησιμοποιούν το λειτουργικό σύστημα Linux και έχουν, φυσικά, εγκατεστημένο το διερμηνέα για την Python 3. Περιέχουν επίσης, το κέλυφος IDLE, δηλαδή έναν διαδραστικό διερμηνέα της Python με ενσωματωμένο κειμενογράφο. Τα εργαστήρια του μαθήματος θα γίνονται σε αυτά τα υπολογιστικά συστήματα, αλλά μπορείτε να χρησιμοποιείτε τον δικό σας φορητό υπολογιστή. Έχουμε επιλέξει την python για να μάθουμε προγραμματισμό διότι είναι: http://users.tem.uoc.gr/~komineas/teaching/mem104_2017/lectures/01_lecture.html 1/8

Γλώσσα ανοικτού κώδικα (διαθέσιμη στη διεύθυνση http://python.org). Γενικής χρήσης, υψηλού επιπέδου γλώσσα προγραμματισμού. Εύκολη στην εκμάθηση (απλό συντακτικό). Με δυνατότητες σε διάφορες κατευθύνσεις (ισχυρή γλώσσα προγραμματισμού). Κατάλληλη για αρχάριους και για έμπειρους προγραμματιστές. Αντικειμενοστραφής. Υπάρχουν αρκετά πακέτα υποστήριξης (βιβλιοθήκες). Μεταβλητές Πράξεις με αριθμούς Θα δώσουμε πολλαπλασιασμό και διαίρεση αριθμών και θα πάρουμε το αποτέλεσμα: >>> 3*4 12 >>> 3.0*4.0 12.0 >>> 3.0*4 12.0 >>> 1/2 0.5 >>> 4/2 2.0 >>> 2/3 0.6666666666666666 Τύποι μεταβλητών 1. int (ακέραιος) 2. float (κινητής υποδιαστολής) 3. bool (λογική μεταβλητή: παίρνει τις τιμές True ή False) 4. NoneType (παίρνει την τιμή None, δηλώνει απουσία τιμής) Παράδειγμα. Θα δώσουμε τιμές σε μεταβλητές (κινητής υποδιαστολής) με ονόματα: pi, a. >>> pi = 3.14 http://users.tem.uoc.gr/~komineas/teaching/mem104_2017/lectures/01_lecture.html 2/8

>>> a = 10.0 Κάνουμε πράξεις με μεταβλητές και παίρνουμε το αποτέλεσμα σε νέα μεταβλητή. >>> area = pi*a**2 Βρήκαμε την επιφάνεια δίσκου με ακτίνα ίση με 10. Χρειάστηκε να υψώσουμε στο τετράγωνο (a**2) και να κάνουμε πολλαπλασιασμό (με το σύμβολο *). Τελικά εκχωρήσαμε το αποτέλεσμα του π a 2 στη νέα μεταβλητή area. Τελεστές. 10+4 --> 14 (Πρόσθεση) 10-4 --> 6 (Αφαίρεση) 10*4 --> 40 (Αφαίρεση) 10**4 --> 10000 (Ύψωση σε δύναμη) 10/4 --> 2.5 (Διαίρεση) 10//4 --> 2 (Ακέραια διαίρεση) 10%4 --> 2 (Υπόλοιπο ακέραιας διαίρεσης) Παράδειγμα. Δίνουμε τιμές σε μεταβλητές: >>> a = 3 >>> b = 3.14 >>> c = 3 + 4j >>> d = True >>> n = None Με την εντολή type μπορούμε να ελέγξουμε τον τύπο των μεταβλητών οι οποίες ήδη έχουν ορισθεί (έχουν τιμές). >>> type(a) <class 'int'> >>> type(b) <class 'float'> >>> type(c) <class 'complex'> http://users.tem.uoc.gr/~komineas/teaching/mem104_2017/lectures/01_lecture.html 3/8

>>> type(d) <class 'bool'> >>> type(n) <class 'NoneType'> Άσκηση. Έχουμε 800 εγγεγραμμένους φοιτητές στο μάθημα του προγραμματισμού και έρχονται στις εξετάσεις 300 από αυτούς. Αν οι βαθμολογίες καταχωρηθούν με την βοήθεια της python, τι τύπων μεταβλητές χρειαζόμαστε για να καλύψουμε την βαθμολογία και των 800 φοιτητών; Άσκηση. Αναφέρετε περιπτώσεις όπου ο τύπος NoneType θα ήταν χρήσιμος. Ονόματα μεταβλητών Μπορούν να περιέχουν γράμματα και αριθμούς (αλφαριθμητικούς χαρακτήρες), αλλά πρέπει να ξεκινούν με ένα γράμμα. Τα πεζά διακρίνονται από τα κεφαλαία. Μπορεί να περιέχεται το underscore (_). Παραδείγματα >>> natural_number = 3 >>> to_pi = 3.14 >>> greeting = 'hallo there!' >>> protasi = True >>> bathmos = None >>> Bathmos = 10 Μη αποδεκτά ονόματα μεταβλητών: 1number - αρχίζει με αριθμό. number! - περιέχει το! class - είναι λέξη-κλειδί. Λέξεις κλειδιά Είναι δεσμευμένες λέξεις με ειδική σημασία. Για να τις δούμε όλες: >>> import keyword http://users.tem.uoc.gr/~komineas/teaching/mem104_2017/lectures/01_lecture.html 4/8

>>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] Εντολές Έχουμε ήδη δει μερικές εντολές της python: print, type, int, float, str. Παραδείγματα: >>> print(a) 3 >>> print(d) True >>> print(a,b) 3 3.14 >>> int(b) 3 >>> float(a) 3.0 >>> str(3.14159) '3.14159' >>> print(greeting) hallo there! 'Αλλα παραδείγματα: >>> print(a,b,greeting) 3 3.14 hallo there! Άσκηση Γράψτε εντολές με τις οποίες θα δίνονται τιμές σε δύο μεταβλητές (π.χ. 3 και 3.14 αντίστοιχα) και μετά θα τυπώνεται το εξής The value is: 3 The value is: 3.14 http://users.tem.uoc.gr/~komineas/teaching/mem104_2017/lectures/01_lecture.html 5/8

Πακέτα Έχουμε δει επίσης την εντολή import η οποία μας επιτρέπει πρόσβαση σε προκαθορισμένες μεταβλητές, συναρτήσεις κλπ. Το πακέτο math περιέχει χρήσιμες μαθηματικές σταθερές και μαθηματικές συναρτήσεις. >>> import math >>> print(math.pi) 3.141592653589793 >>> math.sqrt(2.0) 1.4142135623730951 >>> math.sqrt(2) 1.4142135623730951 >>> math.exp(1) 2.718281828459045 Σφάλματα Συντακτικό σφάλμα. Ας δούμε τα εξής >>> print c SyntaxError: Missing parentheses in call to 'print' >>> print(c,nick) Traceback (most recent call last): File "", line 1, in print(c,nick) NameError: name 'Nick' is not defined H πρώτη εντολή έχει συντακτικό λάθος το οποίο η Python ονομάζει SyntaxError. Η δεύτερη εντολή έχει ένα λάθος το οποίο η Python ονομάζει NameError. Ο διερνηνευτής (interpreter) μας δίνει πληροφορία σχετικά με το κάθε λάθος. Σφάλμα σημαντικής. Ας δούμε επίσης >>> print(3,2) 3 2 http://users.tem.uoc.gr/~komineas/teaching/mem104_2017/lectures/01_lecture.html 6/8

Τυπώσαμε δύο αριθμούς. Δεν φαίνεται να υπάρχει κανένα λάθος στο παραπάνω. Εάν όμως ο σκοπός μας ήταν να τυπώσουμε τον αριθμό 3.2 τότε έχουμε κάνει ένα λάθος σημαντικής (semantic error). Δηλαδή, η εντολή δίνει μεν ένα αποτέλεσμα, αλλά δεν είναι αυτό που θέλαμε. Μελέτη Τοπικές ιστοσελίδες 1. Ιστοσελίδα μαθήματος "Γλώσσα Προγραμματισμού Ι", 2016 (Μιχ. Πλεξουσάκης) 2. Ιστοσελίδα μαθήματος "Γλώσσα Προγραμματισμού Ι", 2015 Βιβλιογραφία 1. An Informal Introduction to Python: variables, strings 2. Δ. Καρολίδης, Μαθαίνετε εύκολα python. 3. Κ. Μαγκούτης, Χ. Νικολάου, Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με Python, (Αποθετήριο "Κάλλιπος", 2016) - Δείτε τα κεφάλαια 1. Εισαγωγή στην Python, 2. Τιμές, τύποι, μεταβλητές, λέξεις κλειδιά, εντολές, 3. Εκφράσεις, τελεστές, σχόλια. Eγκαταστήστε την python στον Η/Υ σας Εργαλεία python.org enthought.com Cloud coding environment. Μπορείτε να τρέξετε python στον φυλλομετρητή: Codeskulptor. Μπορείτε να τρέξετε python στον φυλλομετρητή: CodeAcademy. idle3: Είναι ένα ολοκληρωμένο περιβάλλον για την ανάπτυξη και εκτέλεση προγραμμάτων python. Μπορείτε να τρέξετε python στο κινητό σας τηλέφωνο (εφαρμογή QPython3). http://users.tem.uoc.gr/~komineas/teaching/mem104_2017/lectures/01_lecture.html 7/8