Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΒοανηργες Βούλγαρης Τροποποιήθηκε πριν 7 χρόνια
1
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Eισαγωγή στον προγραμματισμό Εισαγωγή στον προγραμματισμό (Εισαγωγή στην Python) Διδάσκων: Ν. Μαμουλής
2
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.
3
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Εισαγωγή στην Python Χειμερινό Εξάμηνο 2014
4
Εγκατάσταση Από το www.python.org Downloads
Υπάρχουν εκτενείς οδηγίες για όλα τα λειτουργικά (π.χ., Windows, Mac OS X). Δύο βασικές εκδόσεις της Python: Python 2.X Python 3.X Οι διαφορές τους (τουλάχιστον στο επίπεδο αυτού του μαθήματος) δεν είναι πολύ μεγάλες. Δεν είναι όμως συμβατές μεταξύ τους. Στο μάθημα θα ακολουθήσουμε την Python 3.X.
5
Ο Διαδραστικός Διερμηνέας
Μετά την εγκατάσταση, μπορούμε να «ανοίξουμε» το διαδραστικό διερμηνέα (interactive interpreter) Μέσω του κελύφους, πληκτρολογώντας python3 Τρέχοντας το πρόγραμμα IDLE. Ο διερμηνέας σας επιτρέπει να εισάγετε εντολές Python γραμμή-γραμμή, που εκτελούνται άμεσα. Python (v3.4.1:c0e311e010fc, May , 00:54:21) [GCC (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 for current information. >>>
6
Εξοικείωση >>> print("Hello, world!") Hello, world!
Μια πρώτη εντολή: Κάτι άκυρο: >>> print("Hello, world!") Hello, world! >>> The Spanish Inquisition SyntaxError: invalid syntax.
7
Αριθμητικές Πράξεις >>> 2+2 4 >>> 1/2 0.5
>>> 4/2 2.0 μπορείτε να χρησιμοποιήσετε την Python σαν αριθμητήριο!
8
int και float Οι πραγματικοί αριθμοί στις γλώσσες προγραμματισμού λέγονται «αριθμοί κινητής υποδιαστολής» (floating-point numbers) int (integer, ακέραιος) float (floating-point number, πραγματικός). Οι αριθμοί 3 και 5 είναι ακέραιοι. Οι αριθμοί 3.5 και 5.0 είναι αριθμοί κινητής υποδιαστολής. Οι ακέραιοι μετατρέπονται σε floats κατ’ ανάγκην.
9
int και float Οι ακέραιοι στην Python μπορούν να είναι όσο μεγάλοι θέλουμε. Οι floats περιορίζονται σε 64bits. >>> 2**1024 >>> 2.0**1024 Traceback (most recent call last): File "<pyshell#37>", line 1, in <module> 2.0**1024 OverflowError: (34, 'Result too large') >>> sys.float_info sys.float_info(max= e+308, … min= e-308). 1.79*10308
10
Τελεστές Ακέραιας Διαίρεσης
>>> 5/2 2.5 >>> 5//2 2 >>> 5%2 1 διαίρεση πραγματικών. ακέραια διαίρεση. υπόλοιπο ακέραιας διαίρεσης.
11
Ύψωση σε δύναμη >>> 2**3 8 >>> -3**2 -9
>>> (-3)**2 9.
12
Μη δεκαδικοί αριθμοί >>>0xAF 175 >>>0o10 8
To 10 στο οκταδικό σύστημα ισούται με 1*8+0=8 στο δεκαδικό σύστημα. >>>0xAF 175 >>>0o10 8 >>> 0b 4649.
13
Απλές Μαθηματικές Συναρτήσεις
>>> abs(-4) 4 >>> max(2,-5,6) 6 >>> min(2,-5,6) -5 >>>pow(2,3) 8 >>>round(3.8)
14
Modules >>> import math >>> math.floor(3.5) 3
Επεκτείνουν την Python πέρα από τις βασικές εντολές/συναρτήσεις της Το math είναι module. >>> import math >>> math.floor(3.5) 3 >>> math.sqrt(9) 3.0 μεγαλύτερος ακέραιος μικρότερος ή ισος του 3.5. συνάρτηση τετραγωνικής ρίζας.
15
Module fraction >>> import fractions
Χειρισμός κλασμάτων Αν θέλουμε μεγαλύτερη ακρίβεια από floats >>> import fractions >>> a = fractions.Fraction(3,4) >>> b = fractions.Fraction(1,2) >>> c = a+b >>> c Fraction(5, 4) Το κλάσμα ¾.
16
Module fraction Χειρισμός κλασμάτων
Αν θέλουμε μεγαλύτερη ακρίβεια από floats >>> 0.5**1075 0.0 >>> fractions.Fraction(1,2)**1075 Fraction(1, ).
17
Δυαδικές Εκφράσεις >>> 2<3 True >>> 3<2 False
>>> 5-1>2+1 δεσμευμένες λέξεις στην Python για δυαδικές εκφρασεις.
18
Τελεστές Σύγκρισης Αριθμών
>>> 3 == 3 True >>> 3+5 == 4+4 >>> 3 == 5-3 False >>> 3 <= 4 >>> 3 > 5 >>> 3 != 5
19
Δυαδικοί Τελεστές >>> 2 < 3 and 4 > 5 False
>>> 3 < 5 and True True >>> 3 < 4 or 4 <3 >>> 3 < 2 and 2 < 1 >>> not (3 < 4) πίνακες αληθείας p not p T F p q p and p T F p q p or p T F
20
Σχέση τύπων 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.
21
Μεταβλητές >>> x=3 >>> x*2 6 >>> print(x*3)
απόδοση τιμής <μεταβλητή> = <έκφραση>. >>> x=3 >>> x*2 6 >>> print(x*3) 9
22
Προσοχή! >>> x=1 >>> y=x >>> x=100
Η τιμή μιας μεταβλητής μετά την αρχικοποίησή της είναι ανεξάρτητη από τις άλλες μεταβλητές!
23
Ποια η διαφορά; >>> 2*3 6 >>> print(2*3)
Η έκφραση αυτή δεν θα κάνει τίποτα σε ένα πρόγραμμα Python. >>> 2*3 6 >>> print(2*3) Η εντολή αυτή θα τυπώσει 6 σε ένα πρόγραμμα Python.
24
Απόδοση τιμής από το χρήστη
>>> name = input("Please input your name: ") Please input your name: Nikos >>> name 'Nikos’ >>> x = input("x: ") x: 3 >>> x '3' To x δεν είναι αριθμός! Η συνάρτηση int() αρχικοποιεί έναν ακέραιο παίρνοντας σαν είσοδο ένα αλφαριθμητικό. >>> x = int(input("x: ")) x: 4 >>> x 4
25
Αλλά... >>> x = int(input("x: ")) x: 4.5
Η συνάρτηση μετατροπής περιμένει ακέραιο! >>> 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 = eval(input("x: "))
26
Ονόματα Μεταβλητών Στα Αγγλικά! Επιτρεπτοί χαρακτήρες:
A..Z, a..z, _, 0..9 Μια μεταβλητή ΔΕΝ μπορεί να αρχίζει με ψηφίο (0..9) π.χ. my_list, myList, mylist, _list, αλλά όχι 5list, list-3. Διαλέγουμε ονόματα που βγάζουν νόημα π.χ. interestRate, tempVar θα βοηθήσουν άλλους να κατανοήσουν το πρόγραμμά μας ...και εμάς(!) για να το θυμηθούμε ή να το εκσφαλματώσουμε. ΔΕΝ χρησιμοποιούμε δεσμευμένα ονόματα (reserved keywords), π.χ. False, for, class.
27
Αλφαριθμητικά >>> "Hello World!" 'Hello World!'
Ακολουθίες χαρακτήρων κλεισμένες σε εισαγωγικά "Hello World" ή 'Hello World', αλλά όχι "Hello World’. >>> "Hello World!" 'Hello World!' >>> s = "hello" >>> s 'hello‘
28
Προσοχή! >>> 'Let's go' SyntaxError: invalid syntax
29
Σύγκριση αλφαριθμητικών
>>> s = "hello" >>> s == "hello" True >>> t = "world" >>> s != t >>> s == t False >>> s < t με βάση τη λεξικογραφική σειρά!
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' 1 2 3 4 -5 -4 -3 -2 -1 h e 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 type: float type: str 3 3.0 'Hello World'
36
Οι μεταβλητές δεν έχουν τύπο
Οι μεταβλητές είναι απλά ονόματα για τα αντικείμενα στα οποία αναφέρονται. Η παραπάνω συνάρτηση μας δίνει τον τύπο του αντικειμένου στο οποίο αναφέρεται η μεταβλητή s. >>> s = "hello" >>> type(s) <class 'str'>
37
Προγράμματα σε Python Μπορούμε να δημιουργήσουμε ένα πρόγραμμα και να το σώσουμε σε ένα αρχείο κειμένου. Μπορούμε να χρησιμοποιήσουμε οποιοδήποτε επεξεργαστή κειμένου. Επεξεργαστές κειμένου για γλώσσες προγραμματισμού μας βοηθάνε στη συγγραφή και παρέχουν λειτουργίες εκτέλεσης του προγράμματος. Ο επεξεργαστής κειμένου που έρχεται με την εγκατάσταση της Python ειναι το IDLE. Εναλλακτικά: UltraEdit, Crimson, emacs.
38
Προγράμματα σε Python Ένα αρχείο προγράμματος Python μπορεί να εκτελεστεί: Μέσω του IDLE Από το κέλυφος ή τη γραμμή διαταγών Μετατρέποντας το αρχείο σε εκτελέσιμο. πρόγραμμα εκτέλεσης αρχείων Python όνομα αρχείου Python python3 area.py Width: 3 Length: 4 Area: 12 width = int(input("Width: ")) length = int(input("Length: ")) area = width*legth print("Area: ", area) Αρχείο (area.py) Εκτέλεση στο κέλυφος
39
Σχόλια Τα προγράμματα πρέπει να τεκμηριώνονται
για να μπορεί κάποιος που θα διαβάσει τον κώδικά σας να τον κατανοήσει για να θυμάστε εσείς ποιος είναι ο σκοπός ή το νόημα ενός μέρους του προγράμματος η τεκμηρίωση διευκολύνει την εκσφαλμάτωση. Σχόλια: οτιδήποτε ακολουθεί μια δίεση (#) # 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).
40
Τέλος Ενότητας
41
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
42
Σημειώματα
43
Σημείωμα Ιστορικού Εκδόσεων Έργου
Το παρόν έργο αποτελεί την έκδοση 1.0. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Έκδοση 1.0 διαθέσιμη εδώ. .
44
Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Ν. Μαμουλής. «Εισαγωγή στον Προγραμματισμό. Εισαγωγή στον Προγραμματισμό(Εισαγωγή στην Python)». Έκδοση: 1.0. Ιωάννινα Διαθέσιμο από τη δικτυακή διεύθυνση: .
45
Σημείωμα Αδειοδότησης
Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1]
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.