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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

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

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

Τύποι Δεδομένων Είσοδος/Έξοδος

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

Προγραμματισμός Ι (ΗΥ120)

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

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

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

a = 10; a = k; int a,b,c; a = b = c = 10;

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Λίστες και Πλειάδες Χειµερινό Εξάµηνο 2014

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

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

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

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

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

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

Προγραμματισμός Ι (HY120)

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

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

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

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

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

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

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

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

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM

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

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

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

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

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΘΕΜΑ : ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ. ΔΙΑΡΚΕΙΑ: 1 περιόδους. 22/1/ :11 Όνομα: Λεκάκης Κωνσταντίνος καθ. Τεχνολογίας

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

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

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

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

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

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

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

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

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

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

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

Συναρτήσεις στη Visual Basic 6.0

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

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

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

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

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

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

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

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

επιµέλεια Θοδωρής Πιερράτος

Transcript:

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

H Γλώσσα Python Δημιουργήθηκε από τον Guido van Rossum ο οποίος εξακολουθεί να την εξελίσσει. Benevolent Dictator for Life για την κοινότητα της Python Πήρε το όνομα της από τους Monty Pythons και όχι από το φίδι. To όνομα του επεξεργαστή IDLE σημαίνει Integrated DeveLopment Environment αλλά θεωρείται φόρος τιμής στον Eric Idle των Monty Pythons Χρησιμοποιείται ευρέως σε πολλαπλά και διαφορετικά πεδία Εφαρμογές ανάλυσης δεδομένων, συλλογή δεδομένων από το Web, Google, Yahoo, κλπ.

Εγκατάσταση Από το www.python.org Downloads Υπάρχουν εκτενείς οδηγίες για όλα τα λειτουργικά (π.χ., Windows, Mac OS X) Δύο βασικές εκδόσεις της Python: Python 2.X Python 3.X Οι διαφορές τους (τουλάχιστον στο επίπεδο αυτού του μαθήματος) δεν είναι πολύ μεγάλες. Δεν είναι όμως συμβατές μεταξύ τους. Στο μάθημα θα ακολουθήσουμε την Python 3.X. 3

Ο Διαδραστικός Διερμηνέας Μετά την εγκατάσταση, μπορούμε να «ανοίξουμε» το διαδραστικό διερμηνέα (interactive interpreter) Μέσω του κελύφους, πληκτρολογώντας python3 Τρέχοντας το πρόγραμμα IDLE Ο διερμηνέας σας επιτρέπει να εισάγετε εντολές Python γραμμή-γραμμή, που εκτελούνται άμεσα. Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "copyright", "credits" or "license()" for more information. >>> WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable. Visit http://www.python.org/download/mac/tcltk/ for current information. >>> 4

Εξοικείωση Μια πρώτη εντολή: >>> print("hello, world!") Hello, world! Κάτι άκυρο: >>> The Spanish Inquisition SyntaxError: invalid syntax 5

Συναρτήσεις Η print εντολή είναι ένα παράδειγμα συνάρτησης. Μια συνάρτηση παίρνει μηδέν ή παραπάνω ορίσματα και επιτελεί μια λειτουργία Για παράδειγμα η print τυπώνει τα ορίσματα στην οθόνη. Ορισμένες φορές η συνάρτηση μπορεί να υπολογίζει και να επιστρέφει κάτι (π.χ., μια τιμή) Η print είναι ένα παράδειγμα υπάρχουσας συνάρτησης (built-in function) της Python Υπάρχουν πολλές τέτοιες συναρτήσεις που επιτελούν βασικές λειτουργείες που χρειαζόμαστε για να φτιάξουμε προγράμματα. Υπάρχουν επίσης modules που μας επιτρέπουν να χρησιμοποιούμε κι άλλες συναρτήσεις που έχουν υλοποιηθεί

Αριθμητικές Πράξεις >>> 2+2 4 >>> 1/2 0.5 >>> 4/2 2.0 μπορείτε να χρησιμοποιήσετε την Python σαν αριθμητήριο! Μια έκφραση είναι οτιδήποτε αποτιμάται σε μία τιμή. Μια αριθμητική πράξη είναι μια αριθμητική έκφραση. 7

int και float Οι πραγματικοί αριθμοί στις γλώσσες προγραμματισμού λέγονται «αριθμοί κινητής υποδιαστολής» (floating-point numbers) int (integer, ακέραιος) float (floating-point number, πραγματικός) Οι αριθμοί 3 και 5 είναι ακέραιοι. Οι αριθμοί 3.5 και 5.0 είναι αριθμοί κινητής υποδιαστολής. Οι ακέραιοι μετατρέπονται σε floats κατ ανάγκην 8

int και float Οι ακέραιοι στην Python μπορούν να είναι όσο μεγάλοι θέλουμε >>> 2**1024 1797693134862315907729305190789024733617976978942306572734300811577326 7580550096313270847732240753602112011387987139335765878976881441662249 2847430639474124377767893424865485276302219601246094119453082952085005 7688381506823424628814739131105408272371633505106845862982399472459384 79716304835356329624224137216 Οι floats περιορίζονται σε 64bits >>> 2.0**1024 Traceback (most recent call last): File "<pyshell#37>", line 1, in <module> 2.0**1024 1.79*10 308 OverflowError: (34, 'Result too large') >>> sys.float_info sys.float_info(max=1.7976931348623157e+308, min=2.2250738585072014e-308) 9

Τελεστές Ακέραιας Διαίρεσης >>> 5/2 2.5 >>> 5//2 2 >>> 5%2 1 διαίρεση πραγματικών ακέραια διαίρεση υπόλοιπο ακέραιας διαίρεσης 10

Ύψωση σε δύναμη >>> 2**3 8 >>> -3**2-9 >>> (-3)**2 9 11

Μη δεκαδικοί αριθμοί Το AF στο δεκαεξαδικό σύστημα ισούται με 10*16+15=175 στο δεκαδικό σύστημα. >>>0xAF 175 To 10 στο οκταδικό σύστημα ισούται με 1*8+0=8 στο δεκαδικό σύστημα. >>>0o10 8 >>> 0b1001000101001 4649 12

Απλές Μαθηματικές Συναρτήσεις >>> abs(-4) 4 >>> max(2,-5,6) 6 >>> min(2,-5,6) -5 >>>pow(2,3) 8 >>>round(3.8) 4 13

Modules Επεκτείνουν την Python πέρα από τις βασικές εντολές/συναρτήσεις της >>> import math >>> math.floor(3.5) 3 >>> math.sqrt(9) 3.0 Κλήση συνάρτησης του module: Όνομα module. Όνομα συνάρτησης Το math είναι module μεγαλύτερος ακέραιος μικρότερος ή ισος του 3.5 συνάρτηση τετραγωνικής ρίζας 14

Module fraction Χειρισμός κλασμάτων Αν θέλουμε μεγαλύτερη ακρίβεια από floats >>> import fractions >>> a = fractions.fraction(3,4) >>> b = fractions.fraction(1,2) >>> c = a+b >>> c Fraction(5, 4) Το κλάσμα 3/4 15

Module fraction Χειρισμός κλασμάτων Αν θέλουμε μεγαλύτερη ακρίβεια από floats >>> 0.5**1075 0.0 >>> fractions.fraction(1,2)**1075 Fraction(1, 404804506614621236704990693437834614099113299528284236713 802716054860679135990693783920767402874248990374155728633 623822779617474771586953734026799881477019843034848553132 722728933815484186432682479535356945490137124014966849385 397236206711298319112681620113024717539104666829230461005 064372655017292012526615415482186989568) 16

Δυαδικές/Λογικές Εκφράσεις Οι δυαδικές (boolean) ή λογικές εκφράσεις αποτιμώνται σε τιμές True (αληθές) ή False (ψευδές) >>> 2<3 True >>> 3<2 False >>> 5-1>2+1 True δεσμευμένες λέξεις στην Python για δυαδικές εκφρασεις 17

Τελεστές Σύγκρισης Αριθμών >>> 3 == 3 True >>> 3+5 == 4+4 True >>> 3 == 5-3 False >>> 3 <= 4 True >>> 3 > 5 False >>> 3!= 5 True Έλεγχος ισότητας Προσοχή == ΌΧΙ = Έλεγχος ανισότητας 18

Δυαδικοί/Λογικοί Τελεστές >>> 2 < 3 and 4 > 5 False >>> 3 < 5 and True True >>> 3 < 4 or 4 <3 True >>> 3 < 2 and 2 < 1 False >>> not (3 < 4) False p T F not p F T πίνακες αληθείας p q p and p T T T T F F F T F F F F p q p or p T T T T F T F T T F F F Τα and, or, not είναι δεσμευμένες λέξεις στην Python 19

Σχέση τύπων bool, int, float True = 1 και False = 0 Μετατροπή τύπων με bool(), int(), float() >>> 5+True 6 >>> bool(5-5) False >>> bool(3-2.8) True >>> float(false) 0.0 >>> int(4.8+true) 5 μετατροπή σε True/False όλοι οι αριθμοί εκτός του 0 μετατρέπονται σε True μετατροπή σε πραγματικό ακέραιο μέρος του 5.8 20

Ποια η διαφορά; >>> 2*3 6 >>> print(2*3) 6 Η έκφραση αυτή δεν θα κάνει τίποτα σε ένα πρόγραμμα Python Η εντολή αυτή θα τυπώσει 6 σε ένα πρόγραμμα Python 21

Μεταβλητές >>> x=3 >>> x*2 6 >>> print(x*3) 9 απόδοση τιμής <μεταβλητή> = <έκφραση> Οι μεταβλητές χρησιμεύουν για να αναφερόμαστε σε δεδομένα. Το σύμβολο = δεν σημαίνει ισότητα, αλλά απόδοση/ανάθεση/εκχώρηση τιμής Στα δεξιά του = υπάρχει πάντα μια έκφραση που αποτιμάται σε μια τιμή Στα αριστερά του = υπάρχει πάντα μια μεταβλητή στην οποία εκχωρείται η τιμή 22

Προσοχή! >>> x=1 >>> y=x >>> x=100 >>> y 1 Η τιμή μιας μεταβλητής μετά την αρχικοποίησή της είναι ανεξάρτητη από τις άλλες μεταβλητές! 23

Απόδοση τιμής από το χρήστη >>> name = input("please input your name: ") Please input your name: Nikos >>> name 'Nikos >>> x = input("x: ") x: 3 >>> x '3' >>> x = int(input("x: ")) x: 4 >>> x 4 To x δεν είναι αριθμός! Η συνάρτηση int() αρχικοποιεί έναν ακέραιο παίρνοντας σαν είσοδο ένα αλφαριθμητικό 24

Αλλά... >>> x = int(input("x: ")) x: 4.5 Traceback (most recent call last): File "<pyshell#64>", line 1, in <module> x = int(input("x: ")) ValueError: invalid literal for int() with base 10: '4.5 >>> x = float(input("x: ")) x: 4.5 >>> x 4.5 >>> x = eval(input("x: ")) Η συνάρτηση μετατροπής περιμένει ακέραιο! Αυτόματη μετατροπή 25

Ονόματα Μεταβλητών Στα Αγγλικά! Επιτρεπτοί χαρακτήρες: A..Z, a..z, _, 0..9 Μια μεταβλητή ΔΕΝ μπορεί να αρχίζει με ψηφίο (0..9) π.χ. my_list, mylist, mylist, _list, αλλά όχι 5list, list-3 Διαλέγουμε ονόματα που βγάζουν νόημα π.χ. interestrate, tempvar θα βοηθήσουν άλλους να κατανοήσουν το πρόγραμμά μας...και εμάς(!) για να το θυμηθούμε ή να το εκσφαλματώσουμε ΔΕΝ χρησιμοποιούμε δεσμευμένα ονόματα (reserved keywords), π.χ. False, for, class 26

Αλφαριθμητικά Ακολουθίες χαρακτήρων κλεισμένες σε εισαγωγικά "Hello World" ή 'Hello World', αλλά όχι "Hello World' >>> "Hello World!" 'Hello World!' >>> s = "hello" >>> s 'hello' 27

Προσοχή! >>> 'Let's go' SyntaxError: invalid syntax >>> "Let's go" "Let's go" >>> 'Let\'s go' "Let's go" 28

Σύγκριση αλφαριθμητικών >>> s = "hello" >>> s == "hello" True >>> t = "world" >>> s!= t True >>> s == t False >>> s < t True με βάση τη λεξικογραφική σειρά! 29

Λεξικογραφική Σειρά Ορίζεται με βάση την ASCII αριθμητική αναπαράσταση των χαρακτήρων http://www.asciitable.com Μπορούμε να πάρουμε την σειρά ενός χαρακτήρα μέσω της συνάρτησης ord >>> ord('a') 97 >>> ord('@') 64 >>> '@'<'a' True 30

Πράξεις με αλφαριθμητικά >>> s + " " + t 'hello world' >>> s * t Traceback (most recent call last): File "<pyshell#94>", line 1, in <module> s * t TypeError: can't multiply sequence by non-int of type 'str >>> 3 * "A" 'AAA' >>> "hello " * 2 'hello hello ' 31

Τελεστής in και συνάρτηση len >>> s = "hello" >>> 'g' in s False >>> 'll' in s True >>> len(s) 5 32

Δεικτοδότηση αλφαριθμητικών Οι χαρακτήρες σε ένα αλφαριθμητικό δεικτοδοτούνται Ο πρώτος χαρακτήρας είναι στη θέση 0, ο δεύτερος στη θέση 1, κ.ο.κ. >>> s = "hello" >>> s[0] 'h' >>> s[3] 'l' >>> s[4] 'o' 33

Αρνητική δεικτοδότηση Μπορούμε να προσπελάσουμε τους χαρακτήρες και από το τέλος Ο τελευταίος χαρακτήρας είναι στη θέση -1, ο προτελευταίος στη θέση -2, κ.ο.κ. >>> s = "hello" >>> s[-1] 'o' >>> s[-4] 'e' θετικοί δείκτες αρνητικοί δείκτες αλφαριθμητικό 0 1 2 3 4-5 -4-3 -2-1 h e l l o 34

Μακρά Αλφαριθμητικά Αλφαριθμητικά που χρειάζονται πολλές γραμμές (π.χ. κείμενα). >>> print( '''This is a very long string. It continues here. And it's not over yet. "Hello, world! Still here.''') >>> print("hello, \ World!") Hello, World! 35

Τιμές, Τύποι, Αντικείμενα Έχουμε δει κάποιους τύπους τιμών int, float, str Κάθε τιμή στην Python (π.χ. ακέραιος, αλφαριθμητικό) αποθηκεύεται στη μνήμη ως αντικείμενο Κάθε αντικείμενο έχει λοιπόν μια τιμή και ένα τύπο type: int 3 type: float 3.0 type: str 'Hello World' 36

Οι μεταβλητές δεν έχουν τύπο Οι μεταβλητές είναι απλά ονόματα για τα αντικείμενα στα οποία αναφέρονται. >>> s = "hello" >>> type(s) <class 'str'> >>> s = 100 >>> type(s) <class int'> Η παραπάνω συνάρτηση μας δίνει τον τύπο του αντικειμένου στο οποίο αναφέρεται η μεταβλητή s 37

Οι μεταβλητές δίνουν ονόματα σε αντικείμενα >>> s = "Ηello World" >>> x = 3 >>> y = 3.0 >>> z = 3.0 >>> w = s x y z s w type: int type: float type: str 3 3.0 'Hello World' 38

Προγράμματα σε Python Μπορούμε να δημιουργήσουμε ένα πρόγραμμα και να το σώσουμε σε ένα αρχείο κειμένου. Μπορούμε να χρησιμοποιήσουμε οποιοδήποτε επεξεργαστή κειμένου. Επεξεργαστές κειμένου για γλώσσες προγραμματισμού μας βοηθάνε στη συγγραφή και παρέχουν λειτουργίες εκτέλεσης του προγράμματος. Ο επεξεργαστής κειμένου που έρχεται με την εγκατάσταση της Python ειναι το IDLE. Εναλλακτικά: UltraEdit, Crimson, emacs 39

Προγράμματα σε Python Ένα αρχείο προγράμματος Python μπορεί να εκτελεστεί: Μέσω του IDLE Από το κέλυφος ή τη γραμμή διαταγών width = int(input("width: ")) length = int(input("length: ")) area = width*legth print("area: ", area) python3 area.py Width: 3 Length: 4 Area: 12 πρόγραμμα εκτέλεσης αρχείων Python όνομα αρχείου Python Αρχείο (area.py) Εκτέλεση στο κέλυφος Μετατρέποντας το αρχείο σε εκτελέσιμο 40

Σχόλια Τα προγράμματα πρέπει να τεκμηριώνονται για να μπορεί κάποιος που θα διαβάσει τον κώδικά σας να τον κατανοήσει για να θυμάστε εσείς ποιος είναι ο σκοπός ή το νόημα ενός μέρους του προγράμματος η τεκμηρίωση διευκολύνει την εκσφαλμάτωση Σχόλια: οτιδήποτε ακολουθεί μια δίεση (#) # this program computes the area of a rectangle width = int(input("width: ")) # ask the user to input the width length = int(input("length: ")) # ask the user to input the length area = width*legth # compute the area print("area: ", area) # print the area Αρχείο (area.py) 41