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

Σχετικά έγγραφα
Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

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

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

Γλωσσική Τεχνολογία. Εισαγωγικό Φροντιστήριο

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

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Κεφάλαιο 4: Μεταβλητές και εκφράσεις

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Εισαγωγή στην Tcl. Τί είναι η Tcl;

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Δομημένος Προγραμματισμός

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

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

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

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

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

Προγραμματισμό για ΗΜΥ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων

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

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

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

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

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

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

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Οντοκεντρικός Προγραμματισμός

Βασικά Στοιχεία Python 3

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

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Εισαγωγικό Φροντιστήριο

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

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

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

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

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 5. Λεξικά (Dictionaries)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

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

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

Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 5)

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

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

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

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

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

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

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

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

Διαδικασιακός Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Προγραμματισμός I (Θ)

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

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

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

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ιαχείριση Πληροφοριών στο ιαδίκτυο

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

Transcript:

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

Διάφορες Γλώσσες Προγραμματισμού C or C++ Java Perl Scheme Fortran Python Matlab 12/10/16 costis@teicrete.gr 2

Περίληψη Παρουσίασης Εκτέλεση προγραμμάτων Python και Output Τύποι Δεδομένων Input και I/O Αρχείων Έλεγχος Ροής Συναρτήσεις Python και Επιστημονικές Εφαρμογές Binary Διανομές, Scientific Python 12/10/16 costis@teicrete.gr 3

Hello World Ανοίγουμε ένα τερματικό και πληκτρολογούμε python Σε γραφικό περιβάλλον χρησιμοποιούμε το IDLE Στο prompt πληκτρολογούμε hello world! >>> 'hello world!' 'hello world!' 12/10/16 costis@teicrete.gr 4

Python Overview Από το βιβλίο Learning Python, 4nd Edition Του Mark Lutz, Εκδ. Οίκος O'Reilly: Τα προγράμματα είναι συνθέσεις από modules Τα Modules περιέχουν εντολές Οι εντολές περιέχουν εκφράσεις Οι εκφράσεις δημιουργούν και επεξεργάζονται αντικείμενα (objects) 12/10/16 costis@teicrete.gr 5

O Interpreter της Python H Python είναι γλώσσα interpreted Ο interpreter παρέχει ένα διαδραστικό περιβάλλον για την διεπαφή με την γλώσσα Τα αποτελέσματα των εκφράσεων εμφανίζονται στην οθόνη >>> 3 + 7 10 >>> 3 < 15 True >>> 'print me' 'print me' >>> print 'print me' print me >>> 12/10/16 costis@teicrete.gr 6

Η εντολή print Στοιχεία χωρισμένα από κόμμα εμφανίζονται με ένα κενό μεταξύ τους Ένα κόμμα στο τέλος εντολής print( hello,) δεν τυπώνει ένα χαρακτήρα newline >>> print('hello') hello >>> print('hello', 'there') hello there 12/10/16 costis@teicrete.gr 7

Τεκμηρίωση Ο χαρακτήρας # ξεκινάει ένα σχόλιο >>> 'this will print' 'this will print' >>> #'this will not' >>> 12/10/16 costis@teicrete.gr 8

Μεταβλητές Δεν δηλώνονται, απλά εκχωρούνται Η μεταβλητή δημιουργείται την πρώτη φορά που της εκχωρείται μία τιμή Αποτελούν αναφορές σε αντικείμενα Η πληροφορία τύπου είναι στο αντικείμενο, όχι στην αναφορά Τα πάντα στην Python είναι αντικείμενα 12/10/16 costis@teicrete.gr 9

Τα πάντα είναι αντικείμενα Όταν λέμε τα πάντα, εννοούμε τα πάντα, το οποίο περιλαμβάνει συναρτήσεις και κλάσεις (περισσότερα σχετικά αργότερα!) Ο τύπος δεδομένων αποτελεί ιδιότητα του αντικειμένου και όχι της μεταβλητής >>> x = 7 >>> x 7 >>> x = 'hello' >>> x 'hello' >>> 12/10/16 costis@teicrete.gr 10

Τύποι Δεδομένων Τύπος Αντικειμένου Παράδειγμα Numbers 1234, 3.1415, 3+3j, Strings 'test', John's, Lists [1, [2, 'three'], 4] Dictionaries {'food': 'spam', 'taste': 'yum'} Tuples (1, 'spam', 4, 'U') Files myfile=open('eggs', 'r') Sets set('abc'), {'a', 'b', 'c'} Άλλοι βασικοί τύποι Boolean 12/10/16 costis@teicrete.gr 11

Τύποι Αριθμών Integers (αντίστοιχο τύπος με τον τύπο long της C, αλλά χωρίς περιορισμούς) Floating point numbers και Complex numbers >>> 132224 132224 >>> 132323 ** 2 17509376329 >>> 13/6 2.1666666666666665 >>> 3+4j + 2 + 1j (5+5j) >>> 12/10/16 costis@teicrete.gr 12

Αριθμοί: Floating Point int(x) μετατρέπει το x σε integer float(x) μετατρέπει το x σε floating point Ο interpreter εμφανίζει πολλά ψηφία >>> 1.23232 1.23232 >>> print(1.23232) 1.23232 >>> 1.3E7 13000000.0 >>> int(2.0) 2 >>> float(2) 2.0 12/10/16 costis@teicrete.gr 13

Μιγαδικοί Αριθμοί Ενσωματωμένοι στην Python Υποστηρίζουν τις ίδιες πράξεις όπως οι integer και float >>> x = 3 + 2j >>> y = -1j >>> x + y (3+1j) >>> x * y (2-3j) 12/10/16 costis@teicrete.gr 14

Οι αριθμοί είναι immutable >>> x = 4.5 >>> y = x >>> y += 3 >>> x 4.5 >>> y 7.5 x 4.5 y x 4.5 y 7.5 12/10/16 costis@teicrete.gr 15

String Literals Τα Strings είναι immutable Δεν υφίσταται char type όπως στη C++ ή Java Ο τελεστής + είναι overloaded για να συνδέει >>> x = 'hello' >>> x = x + ' there' >>> x 'hello there' 12/10/16 costis@teicrete.gr 16

String Literals: Πολλά Είδη Μονά ή διπλά εισαγωγικά, και τρία διπλά εισαγωγικά για strings με πολλαπλές γραμμές >>> 'I am a string' 'I am a string' >>> "So am I!" 'So am I!' >>> s = """And me too! though I am much longer than the others :)""" 'And me too!\nthough I am much longer\nthan the others :) >>> print s And me too! though I am much longer than the others :) 12/10/16 costis@teicrete.gr 17

Substrings and Methods >>> s = '012345' >>> s[3] '3' >>> s[1:4] '123' >>> s[2:] '2345' >>> s[:4] '0123' >>> s[-2] '4' len(string) επιστρέφει τον αριθμό των χαρακτήρων του String str(object) επιστρέφει ένα String για το Object >>> len(x) 6 >>> str(10.3) '10.3' 12/10/16 costis@teicrete.gr 18

String Formatting Μοιάζει με την printf της C <formatted string> % <elements to insert> Συχνά χρησιμοποιούμε απλά %s για τα πάντα, επειδή μετατρέπει το αντικείμενο στην String μορφή του. >>> "One, %d, three" % 2 'One, 2, three' >>> "%d, two, %s" % (1,3) '1, two, 3' >>> "%s two %s" % (1, 'three') '1 two three' >>> 12/10/16 costis@teicrete.gr 19

Lists Ταξινομημένες συλλογές από δεδομένα Τα Data μπορούν να είναι διαφόρων τύπων Είναι mutable Ζητήματα με πολλαπλές αναφορές και mutability Same subset operations as Strings >>> x = [1,'hello', (3 + 2j)] >>> x [1, 'hello', (3+2j)] >>> x[2] (3+2j) >>> x[0:2] [1, 'hello'] 12/10/16 costis@teicrete.gr 20

Lists: Τροποποιώντας το Περιεχόμενο x[i] = a επανακαταχωρεί στο στοιχείο i τιμή a Επειδή το x και το y αναφέρονται στο ίδιο στοιχείο της λίστας, και τα δύο αλλάζουν H μέθοδος append επίσης τροποποιεί την λίστα >>> x = [1,2,3] >>> y = x >>> x[1] = 15 >>> x [1, 15, 3] >>> y [1, 15, 3] >>> x.append(12) >>> y [1, 15, 3, 12] 12/10/16 costis@teicrete.gr 21

Lists: Τροποποιώντας το Η μέθοδος append τροποποιεί την λίστα και επιστρέφει None Το άθροισμα από lists (+) επιστρέφει νέο list Περιεχόμενο >>> x = [1,2,3] >>> y = x >>> z = x.append(12) >>> z == None True >>> y [1, 2, 3, 12] >>> x = x + [9,10] >>> x [1, 2, 3, 12, 9, 10] >>> y [1, 2, 3, 12] >>> 12/10/16 costis@teicrete.gr 22

Tuples (πλειάδες) Τα tuples είναι immutable είδη list Προσοχή όταν έχουμε tuple με ένα στοιχείο:, είναι απαραίτητο για να διαφοροποιείται από την αριθμητική έκφραση (344) >>> x = (1,2,3) >>> x[1:] (2, 3) >>> z=(344) >>> z 344 >>> z=(344,) >>> z (344,) 12/10/16 costis@teicrete.gr 23