Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΜΥΥ105: Εισαγωγή στον Προγραμματισμό"— Μεταγράφημα παρουσίασης:

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

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

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

4 Ο Διαδραστικός Διερμηνέας
Μετά την εγκατάσταση, μπορούμε να «ανοίξουμε» το διαδραστικό διερμηνέα (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. >>>

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

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

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 συνάρτηση τετραγωνικής ρίζας Κλήση συνάρτησης του module: Όνομα module . Όνομα συνάρτησης

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) Το κλάσμα 3/4

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

17 Δυαδικές/Λογικές Εκφράσεις
Οι δυαδικές (boolean) ή λογικές εκφράσεις αποτιμώνται σε τιμές True (αληθές) ή False (ψευδές) >>> 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 Τα and, or, not είναι δεσμευμένες λέξεις στην Python

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

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

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

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 Λεξικογραφική Σειρά Ορίζεται με βάση την ASCII αριθμητική αναπαράσταση των χαρακτήρων Μπορούμε να πάρουμε την σειρά ενός χαρακτήρα μέσω της συνάρτησης ord >>> ord('a') 97 >>> 64 >>> True

31 Πράξεις με αλφαριθμητικά
>>> 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 '

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

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

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

35 Μακρά Αλφαριθμητικά Αλφαριθμητικά που χρειάζονται πολλές γραμμές (π.χ. κείμενα). >>> 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!

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

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

38 Οι μεταβλητές δίνουν ονόματα σε αντικείμενα
>>> 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'

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

40 Προγράμματα σε 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) Εκτέλεση στο κέλυφος

41 Σχόλια Τα προγράμματα πρέπει να τεκμηριώνονται
για να μπορεί κάποιος που θα διαβάσει τον κώδικά σας να τον κατανοήσει για να θυμάστε εσείς ποιος είναι ο σκοπός ή το νόημα ενός μέρους του προγράμματος η τεκμηρίωση διευκολύνει την εκσφαλμάτωση Σχόλια: οτιδήποτε ακολουθεί μια δίεση (#) # 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)


Κατέβασμα ppt "ΜΥΥ105: Εισαγωγή στον Προγραμματισμό"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google