Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Σχετικά έγγραφα
Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

17. Πολυδιάςτατοι πίνακεσ

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

ςυςτιματα γραμμικϊν εξιςϊςεων

16. Πίνακεσ και Συναρτήςεισ

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Joomla! - User Guide

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

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

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

Ιδιότθτεσ πεδίων Γενικζσ.

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

Πωσ δημιουργώ μάθημα ςτο e-class του ΠΣΔ [επίπεδο 1]

Modellus 4.01 Συ ντομοσ Οδηγο σ

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

Δημιουργία Εντφπων Intrastat και Ανακεφαλαιωτικοφ Πίνακα

1. Εγκατάςταςη κειμενογράφου JCE

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Visual C Express - Οδηγός Χρήσης

MySchool Πρακτικζσ οδθγίεσ χριςθσ

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Η γλώςςα προγραμματιςμού C

Οδηγίεσ για την Τποβολή Καταςτάςεων υμφωνητικών μζςω xml αρχείου

ΑΛΕΞΑΝΔΡΕΙΟ ΣΕΙ ΘΕΑΛΟΝΙΚΗ ΣΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ Σ.Ε. ΜΑΘΗΜΑ : ΑΛΓΟΡΙΘΜΙΚΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΔΙΔΑΚΩΝ : ΓΟΤΛΙΑΝΑ ΚΩΣΑ

SingularLogic Application. Παραμετροποίηση Galaxy Application Server

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

Οδηγίες αναβάθμισης χαρτών

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΤΟΤ. Φιλιοποφλου Ειρινθ

Κάνουμε κλικ ςτθν επιλογι του οριηόντιου μενοφ «Get Skype»για να κατεβάςουμε ςτον υπολογιςτι μασ το πρόγραμμα του Skype.

8 ΥΜΒΟΛΟΕΙΡΕ - STRINGS

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

ΕΠΑΝΕΚΔΟΗ ΣΙΜΟΛΟΓΙΩΝ ΙΑΝΟΤΑΡΙΟΤ (version )

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Multi Logo. Προγραμματιςμόσ Η/Υ με Multi Logo. Σχεδίαςη και ανάπτυξη εφαρμογήσ κίνηςησ αντικειμζνου

1. Κατέβαςμα του VirtueMart

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Πολυπλέκτες. 0 x 0 F = S x 0 + Sx 1 1 x 1

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Ειδικά Θζματα Βάςεων Δεδομζνων

Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ

Οδηγίες Πρόζβαζης ζηο EndNote Web. Πρόζβαζη ζηο EndNote Web

TIM Εικονικό Περιβάλλον Συνεργασίας Οδθγίεσ Χριςθσ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

Αςφάλεια και Προςταςία Δεδομζνων

Εργαςτιριο Βάςεων Δεδομζνων

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

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7)

Δομζσ Δεδομζνων Πίνακεσ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Εφδοξοσ+ Συνδεκείτε ςτθν Εφαρμογι Φοιτθτϊν και μεταβείτε ςτθ ςελίδα «Ανταλλαγι Βιβλίων (Εφδοξοσ+)».

9 ΕΞΑΙΡΕΕΙ - EXCEPTIONS

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα:

ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ. Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο

ΑΝΣΙΣΡΟΦΗ ΤΝΑΡΣΗΗ. f y x y f A αντιςτοιχίηεται ςτο μοναδικό x A για το οποίο. Παρατθριςεισ Ιδιότθτεσ τθσ αντίςτροφθσ ςυνάρτθςθσ 1. Η. f A τθσ f.

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

Εισαγωγή Νέου Παγίου

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

Ειδικά Θζματα Βάςεων Δεδομζνων

Οδηγίεσ για την πρόςβαςη των δικαιοφχων ςτο ΟΠΣΑΑ

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Γενικά Μαθηματικά ΙΙ

Κατά τθν ενεργοποίθςθ τθσ ιδιότθτασ αυτισ ενδζχεται να εμφανιςτεί ζνα μινυμα ςαν αυτό τθσ παρακάτω εικόνασ. Απλά επιβεβαιϊςτε πατϊντασ ΟΚ.

Οδθγίεσ εγκατάςταςθσ και ρυκμίςεισ του ηυγοφ DIGI SM100

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Δείκτεσ απόδοςθσ υλικών

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

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Διαχείριση Επιλογών Διαμόρφωσης

Transcript:

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν Ειςαγωγι ςτθν Python

Γ Μζροσ Modules, Αντικειμενοςτραφισ Προγραμματιςμόσ ςτθν Python, Classes, Objects, Αλλθλεπίδραςθ με αρχεία

Ειςαγωγι αρκρωμάτων (modules): import

Αρκρϊματα (modules) Ζνα άρκρωμα (module) είναι μια ςυλλογι από ςυναρτιςεισ. Ζνα άρκρωμα αποκθκεφεται ςε ζνα αρχείο με κατάλθξθ.py Μποροφμε να χρθςιμοποιιςουμε αρκρϊματα α) απευκείασ ενςωματωμζνα ςτθν ζκδοςθ τθσ Python που ζχουμε κατεβάςει, β) να κατεβάςουμε ζτοιμα από το διαδίκτυο ι γ) να δθμιουργιςουμε δικά μασ. Για να χρθςιμοποιιςουμε ζνα άρκρωμα ςε ζνα πρόγραμμα, κα πρζπει να το ειςαγάγουμε με χριςθ τθσ εντολισ import. 4

Ειςαγωγι ζτοιμου αρκρϊματοσ (module) Ειςαγωγι ζτοιμου αρκρωματοσ (module) math. Η python με τθν κλιςθ τθσ import ψάχνει ςτο φάκελο ςυςτιματοσ για να βρει τo math. Αν τo βρει μποροφμε να χρθςιμοποιιςουμε τισ ςυναρτιςεισ του. Στο παράδειγμα που ακολουκεί χρθςιμοποιοφμε τθν ςυνάρτθςθ για τθν εφρεςθ τθσ τετραγωνικισ ρίηασ ενόσ αρικμοφ sqrt. 5

Παράδειγμα 1: Κλιςθ module math Σε ζνα αρχείο python example_import.py γράφουμε: Τρζχοντασ το example_import.py βλζπουμε ωσ αποτζλεςμα ςτον shell: 6

Παράδειγμα 1: Κλιςθ module math Με τθν κλιςθ του math, ζχουμε πρόςβαςθ ςε όλεσ τισ ςυναρτιςεισ που περιλαμβάνει το module. Επομζνωσ, ζχοντασ εκτελζςει τθν εντολι import math ςτο προθγοφμενο παράδειγμα, μποροφμε να καλζςουμε και οποιαδιποτε άλλθ ςυνάρτθςθ μζςα ςτο math. Με αποτελζςματα: 7

Παράδειγμα 2: Απευκείασ κλιςθ sqrt. Αντί να ειςάγω όλο το module του math μπορϊ να καλζςω μόνο μια ςυγκεκριμζνθ ςυνάρτθςθ του module χρθςιμοποιϊντασ τθ ςφνταξθ: Λαμβάνοντασ ωσ αποτζλεςμα: 8

Φτιάχνοντασ δικά μασ modules Μποροφμε να φτιάξουμε και δικά μασ αρκρϊματα (modules) και να το κάνουμε import ςε κάποιο αρχείο. Για να δθμιουργιςουμε ζνα δικό μασ άρκρωμα αρκεί να δθμιουργιςουμε ζνα αρχείο με τθν επζκταςθ.py δθλαδι ζνα ςυνθκιςμζνο αρχείο python. Για να μπορεί θ python να βρει το αρκρωμα που δθμιουργιςαμε και να το τρζξει πρζπει να βρίςκεται α) ςτον ίδιο φάκελο με το πρόγραμμα που ειςάγουμε ι β) ςε ζναν από τουσ φακζλουσ ςτα καθοριςμζνα μονοπάτια ςυςτήματοσ. 9

Μονοπάτι ςυςτιματοσ Για να δείτε ποιοι φάκελοι ανικουν ςτο μονοπάτι ςυςτιματοσ μπορείτε να χρθςιμοποιιςετε το ενςωματωμζνο άρκρωμα (module) sys: Το άρκρωμα (module) sys παρζχει πρόςβαςθ ςε μεταβλθτζσ και παραμζτρουσ του διερμθνευτι (interpreter) και ςε ςυναρτιςεισ που είναι ςε άμεςθ αλλθλεπίδραςθ με αυτόν. 10

Παράδειγμα δθμιουργίασ και κλιςθσ module (1) Δθμιουργοφμε ζνα νζο module, δθλαδι ζνα νζο αρχείο με κατάλθξθ.py π.χ. my_first_module.py: 11

Παράδειγμα δθμιουργίασ και κλιςθσ module (2) Κάνουμε import του αρχείου ςτον shell ι καλϊντασ το import ςτθν αρχι κάποιου άλλου αρχείου π.χ. call_module.py και το τρζχουμε: 12

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

Αντικειμενοςτρεφισ προγραμματιςμόσ Τρόποι οργάνωςθσ προγραμμάτων (κϊδικα): o o o Διαδικαςτικόσ (procedural ι imperative) Συναρτθςιακόσ (functional) Αντικειμενοςτρεφισ (object-oriented) Αντικείμενα (objects): οντότθτεσ οι οποίεσ ζχουν ςυγκεκριμζνεσ ιδιότθτεσ (attributes) ι/και μποροφν να εκτελοφν ςυγκεκριμζνεσ ενζργειεσ (methods) 14

Παραδείγματα αντικειμζνων Μία καρζκλα ζχει ιδιότθτεσ χρϊμα, φψοσ, υλικό,... Ζνα ορθογώνιο ζχει ιδιότθτεσ πλάτοσ, φψοσ, εμβαδόν, Μία γάτα ζχει ιδιότθτεσ όνομα, θλικία, φφλο, και εκτελεί διάφορεσ ενζργειεσ όπωσ: νιαουρίηει, τρζχει, ςκαρφαλϊνει, τρϊει, Ζνασ οδηγόσ μπορεί να κάνει ενζργειεσ όπωσ να ςτρίψει, φρενάρει, επιταχφνει, 15

Δθμιουργία αντικειμζνων Τα αντικείμενα δθμιουργοφνται από τισ κλάςεισ (classes). Η κλάςθ είναι ο οριςμόσ του αντικειμζνου, προςδιορίηει ποιεσ ιδιότθτεσ και ποιεσ μεκόδουσ κα ζχει το αντικείμενο. Όλα τα αντικείμενα τα οποία ανικουν ςτθν ίδια κλάςθ, κα ζχουν ίδιου τφπου ιδιότθτεσ και ίδιεσ μεκόδουσ, όμωσ οι τιμζσ των ιδιοτιτων κα διαφοροποιοφνται. Οι μζθοδοι είναι αντίςτοιχεσ με ςυναρτιςεισ που ανικουν ςε ςυγκεκριμζνθ κλάςθ αντικειμζνων. Κάκε αντικείμενο που δθμιουργείται ονομάηεται ςτιγμιότυπο ι instance τθσ κλάςθσ. 16

Ορολογία Τάξη (Class): Αποτελεί μια λογικι ενοποίθςθ ιδιοτιτων οι οποίεσ χαρακτθρίηουν όλα τα αντικείμενα (objects) τθσ Τάξθσ. Instance: Ζνα ςυγκεκριμζνο αντικείμενο μιασ Τάξθσ. Παράδειγμα: Το αντικείμενο p31 που ανικει ςτθν Τάξθ Students, αποτελεί ζνα ςυγκεριμζνο instance τθσ ςυγκεριμζνθσ Τάξθσ. Method: Είδοσ ςυνάρτθςθσ που ορίηεται μζςα ςτθ διλωςθ τθσ Τάξθσ. Class variable: Μεταβλθτι τθσ οποίασ θ τιμι είναι κοινι για όλα τα instances τθσ Τάξθσ. Instance variable: Μεταβλθτι θ οποία ορίηεται μζςα ςε μζκοδο και ανικει μόνο ςε ςυγκεκριμζνθ instance μιασ Τἀξθσ. 17

Δθμιουργία Τάξθσ ςτθν Python Η μεταβλθτι studentcount κα ενθμερϊνεται με το ςυνολικό αρικμό φοιτθτϊν, που κα ζχουν δθμιουργθκεί. Η τιμι τθσ studentcount κα ειναι κοινι για όλα τα αντικείμενα τθσ τάξθσ Student. 18

H μζκοδοσ init Συνάρτθςθ Καταςκευαςτήσ τθν οποία καλεί θ Python κάκε φορά που δθμιουργείται ζνα καινοφργιο αντικείμενο τθσ Τάξθσ. Στο παράδειγμά μασ, επικυμοφμε κάκε αντικείμενο τθσ Τάξθσ Student, να ζχει ζνα όνομα, ζνα πεδίο που κα ορίηει το ζτοσ του, κακϊσ και ζναν πίνακα με τα μακιματα που παρακολουκεί ο ςυγκεριμζνοσ φοιτθτισ. 19

Συνάρτθςθ-καταςκευαςτισ Η παράμετροσ self είναι υποχρεωτικι ςε μία μζκοδο (ςτθν αρχι τθσ λίςτασ παραμζτρων) και υποδθλϊνει (αναφζρεται ςτο) το ςυγκεριμζνο ςτιγμιότυπο (instance) τθσ τάξθσ, για το οποίο καλείται θ μζκοδοσ. Όταν καλείτε τθ μζκοδο, δεν χρειάηεται να ορίςετε τιμι για αυτι τθν παράμετρο, δίνεται αυτόματα από τθν python. 20

Μζκοδοσ για τθν εκτφπωςθ των ςτοιχείων κάκε αντικειμζνου τθσ Τάξθσ Student To τελευταίο μάκθμα τθσ λίςτασ ςυνοδεφεται απο., ενϊ τα προθγοφμενα ςτοιχεία τθσ λίςτασ ακολουκοφνται από,. 21

Δθμιουργία νζων αντικειμζνων 22

Χριςθ class variable Μετά τθ δθμιουργία των 2 αντικειμζνων, ποια είναι θ τιμι τθσ μεταβλθτισ studentcount; 23

Κλιςθ μεκόδων Αποτζλεςμα κλιςθσ τθσ μεκόδου displaystudent για το κάκε αντικείμενο που ζχει δθμιουργθκεί. 24

Παραδείγματα Built-in functions Αποτζλεςμα εκτζλεςθσ των παραπάνω εντολϊν 25

Παρατθριςεισ Τισ μεκόδουσ και τισ μεταβλθτζσ μίασ Τάξθσ, τισ δθλϊνουμε εςωτερικά τθσ Τάξθσ (όπωσ και ςτισ δομζσ ελζγχου και επανάλθψθσ). Η αρχικοποίθςθ των αντικειμζνων τθσ Τάξθσ και θ κλιςθ μεκόδων δεν γίνεται εςωτερικά τθσ Τάξθσ (δεν αφινουμε 4 κενά). 26

Χρθςιμοποίθςθ μεκόδων από διαφορετικζσ Τάξεισ Μζςα ςτο ίδιο αρχείο py. μποροφμε να δθλϊςουμε πολλζσ Τάξεισ. Στο προθγοφμενο παράδειγμα, αφοφ ζχουμε ορίςει τθν Τάξθ Student, και δουλεφοντασ ςτο ίδιο αρχείο, ορίηουμε τθν Τάξθ Lesson, θ οποία ουςιαςτικά περιζχει μία λίςτα τθσ οποίασ κάκε ςτοιχείο είναι ζνα αντικείμενο τθσ Τάξθσ Student. Στο παράδειγμα που ακολουκεί, τα αντικείμενα student1 και student2 ζχουν ιδθ αρχικοποιθκεί μζςα ςτθν Τάξθ Student (δείτε τθν διαφάνεια 68) Το πλιρεσ αρχείο που περιζχει τθ δθλωςθ των τάξεων Student και Lesson, βρίςκεται ςτο φάκελο Lab του eclass (όνομα αρχείου: mathima.py) 27

Παράδειγμα: mathima.py 28

Παράδειγμα: mathima.py (ςυνζχεια)

Αλλθλεπίδραςθ με αρχεία

Άνοιγμα/Δθμιουργία αρχείου Σφνταξθ εντολισ: f=open(filename,right) Η μεταβλθτι f είναι ζνα αντικείμενο τφπου File. Το όριςμα filename είναι τφπου String και υποδθλϊνει το όνομα του αρχείου. Το όριςμα right περιγράφει τον τρόπο με τον οποίο κα χρθςιμοποιθκεί το αρχείο.μπορεί να πάρει τισ ακόλουκεσ τιμζσ: 'r' : το αρχείο είναι μόνο για ανάγνωςθ. 'w : το αρχείο είναι μόνο για εγγραφι.ζνα αρχείο το οποίο ιδθ υπάρχει, τότε ςε περίπτωςθ νζασ εγγραφισ τα προθγοφμενα περιεχόμενα κα διαγραφοφν. 'r+' : Το αρχείο είναι και για ανάγνωςθ και για εγγραφι. 'a' : Σε περίπτωςθ εγγραφισ ςε ιδθ υπάρχον αρχείο, οι νζεσ εγγραφζσ κα προςτεκοφν ςτο τζλοσ του αρχείου. 31

H μζκοδοσ write Υποκζτουμε ότι μζςω τθσ εντολισ open ζχει αρχικοποιθκεί θ μεταβλθτι f. Για να εγγράψουμε μια νζα γραμμι ςτο αρχείο που ζχουμε ανοίξει, εκτελοφμε τθν ακόλουκθ εντολι: f.write( text\n ) Μετά τθν εκτζλεςι τθσ το αρχείο filename κα περιζχει μια νζα γραμμι με περιεχόμενο text. Ο χαρακτιρασ \n υποδθλϊνει αλλαγι γραμμισ. Εάν το δεφτερο όριςμα τθσ open είναι w, τότε τα προθγοφμενα περιεχόμενα του αρχείου filename κα διαγραφοφν, ενϊ αν είναι a το text κα προςτεκεί ςαν νζα γραμμι, ςτο τζλοσ του filename. 32

Τρόποι ανάγνωςθσ ενόσ αρχείου Απαιτείται να ζχει δoκεί το δικαίωμα r κατά τθν εκτζλεςθ τθσ εντολισ open Μζκοδοσ read(). Επιςτρζφει τα περιεχόμενα του αρχείου ςτο οποίο αναφζρεται το αντικείμενο τυπου File. Μζκοδοσ read(n). Επιςτρζφει τουσ n πρϊτουσ χαρακτιρεσ του αρχείου. Μζκοδοσ readline(). Διαβάηει το αρχείο γραμμι προσ γραμμι. Εάν εκτελεςτεί μία φορά επιςτρζφει μόνο τθν πρϊτθ γραμμι του αρχείου κτλ. Μζκοδοσ readlines(). Επιςτρζφει μία λίςτα με ςτοιχεία τισ γραμμζσ του αρχείου. Κάκε ςτοιχείο τθσ λίςτασ που αντιςτοιχεί ςε μία γραμμι ακολουκείται από τον χαρακτιρα \n. Η κλιςθ των παραπάνω ςυναρτιςεων από ζνα αντικείμενο τφπου File γίνεται με τθ χριςθ του χαρακτιρα:. Γενικότερα ςτθν Python τα αντικείμενα καλοφν τισ ςυναρτιςεισ με τθν χριςθ τθσ τελείασ (όπωσ και ςτθ Java). Εναλλακτικόσ τρόποσ για να εμφανίςουμε τα περιεχόμενα ενόσ αρχείου, γραμμι προσ γραμμι: 33

H μζκοδοσ close() Καλϊντασ τθν close() κλείνουμε το αρχείο, και απελευκερϊνουμε τουσ πόρουσ του ςυςτιματοσ που καταλάμβανε. Σφνταξθ: file.close() 34

Παράδειγμα εκτζλεςθσ μεκόδου read() Εμφανίηει ςτθν οκόνθ τα περιεχόμενα του αρχείου. Στιγμιότυπο εκτζλεςθσ: 35

Παράδειγμα εκτζλεςθσ μεκόδου read(n) Επιςτρζφει τουσ n πρϊτουσ χαρακτιρεσ του αρχείου. Στιγμιότυπο εκτζλεςθσ: 36

Παράδειγμα εκτζλεςθσ μεκόδου readline() Κάκε φορά που καλείται, επιςτρζφει και από μία γραμμι του file. Στιγμιότυπο εκτζλεςθσ: 37

Παράδειγμα εκτζλεςθσ μεκόδου readlines() Επιτρζφει μία λίςτα τθσ οποίασ κάκε κζςθ καταλαμβάνεται από τθν αντίςτοιχθ γραμμι τθσ λίςτασ. Στιγμιότυπο εκτζλεςθσ: 38

Λεξικό Συςχετιςμόσ κλειδιϊν (ονομαςιϊν) με τιμζσ (λεπτομζρειεσ). Το κλειδί πρζπει να ζχει μοναδικι τιμι. Σφνταξθ: d = {key1 : value1, key2 : value2} Τα κλειδιά του λεξικοφ δεν ταξινομοφνται αυτομάτωσ με κάποιο τρόπο. 39

Λεξικό Παράδειγμα Δθμιουργία μιασ ατηζντασ email διευκφνςεων ab : Διαγραφι ηεφγουσ κλειδιοφ-τιμισ με del 40