1 / 69

H γλώσσα Python

H Python είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου γενικής χρήσεως.Οι δημιουργοί της υποστηρίζουν ότι συνδυάζει μεγάλη δύναμη με πολύ καθαρό συντακτικό. Η Python υποστηρίζει πολλαπλές προγραμματιστικές λογικές όπως αντικειμενοστραφής λογική,συναρτησιακή κ.α. H γλώσσα Python.

calvin
Download Presentation

H γλώσσα Python

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. H Python είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου γενικής χρήσεως.Οι δημιουργοί της υποστηρίζουν ότι συνδυάζει μεγάλη δύναμη με πολύ καθαρό συντακτικό. Η Python υποστηρίζει πολλαπλές προγραμματιστικές λογικές όπως αντικειμενοστραφής λογική,συναρτησιακή κ.α H γλώσσα Python

  2. Χρησιμοποιεί ένα πλήρες δυναμικό σύστημα και αυτόματη διαχείριση της μνήμης Για αυτό τον λόγο χρησιμοποιείτε συνήθως ως scripting language. H γλώσσα Python

  3. O διερμηνέας(interpreter) της Python είναι το βασικό περιβάλλον της γλώσσας γιατί εκεί λαμβάνουν δράση όλες η διαδικασίες που αφορούν την γλώσσα. Είναι υπεύθυνος για την εκτέλεση των προγραμμάτων και προσφέρει εργαλεία για την ανάπτυξη προγραμμάτων. Ο διερμηνέας της Python(1)

  4. Μοιάζει με ένα τερματικό τύπου Unix και δέχεται την εισαγωγή εντολών. π.χ python -c command [arg] Μας επιτρέπει επίσης την εισαγωγή παραμέτρων στα προγράμματα . Ο διερμηνέας της Python(2)

  5. Όταν ο διερμηνέας διαβάζει εντολές που πληκτρολογούμε εμείς λέμε ότι ο διερμηνέας βρίσκεται σε interactive mode. Στο interactive mode περιμένει την επομένη εντολή με την βασική γραμμή εντολών ( >>> εντολή) και για συνεχιζόμενες γραμμές μια εντολής ή ενός μπλοκ εντολών χρησιμοποιεί 3 τελείες (...). Ο διερμηνέας της Python(3)

  6. >>> should_isay_hello=1 >>>if should_isay_hello : … print (“Hello World”) … Hello World Παράδειγμα

  7. Μερικά χαρακτηριστικά του διερμηνέας Error Handling. Εκτέλεση Python Scripts. Αλλαγή του encoding του κώδικα ενός προγράμματος. Ο διερμηνέας της Python(4)

  8. Όπως αναφέραμε η Python χρησιμοποιεί δυναμικό σύστημα μνήμης και αυτόματη διαχείριση μνήμης. Οι βασικές δομές δεδομένων είναι : οι συμβολοσειρές και οι λίστες. Δυναμική μνήμη

  9. Υπάρχουν βέβαια και άλλοι τύποι δυναμικής μνήμης όπως τα sets,dictionaries(τα αντίστοιχα maps στην C++) και τα tuples. Δυναμική μνήμη

  10. Μια συμβλοσειρά στην πραγματικότητα είναι μια δυναμική ακολουθία χαρακτήρων. Στην Python μια συμβολοσειρά μπορεί να εκφραστεί με πολλούς τρόπους Συμβολοσειρές

  11. >>> "doesn't" "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> "\"Yes,\" he said." '"Yes," he said.' >>> '"Isn\'t," she said.' '"Isn\'t," she said.' Παράδειγμα

  12. Μια συμβολοσειρά μπορεί να είναι και παραπάνω από μια σειρές. Πρέπει η γραμμές να διαχωρίζονται από μια κάθετο \. Συμβολοσειρές(2)

  13. hello = "This is a rather long string containing\n\ several lines of text just as you would do in C.\n\ Note that whitespace at the beginning of the line is\ significant." print(hello) Παράδειγμα

  14. Στην Python μπορούμε να διαχειριστούμε τις συμβολοσειρές με πολλούς τρόπους. word = 'Help' + 'A' >>> word 'HelpA' >>> '<' + word*5 + '>' '<HelpAHelpAHelpAHelpAHelpA>' Συμβολοσειρές(3)

  15. >>> 'Hel' 'lo' 'Hello' >>> 'Wor'.strip() + 'ld' 'World' Συμβολοσειρές(3)(συνέχεια)

  16. Μπορούμε επίσης να προσπελάσουμε την συμβολοσειρά μας ανά στοιχείο όπως την C πχ. >>>lng=”Python” >>>lng[0] P Συμβολοσειρές(4)

  17. Επίσης έχουμε την δυνατότητα να ορίσουμε όρια στον δείκτη προσπέλασης της συμβολοσειράς. πχ. >>lng[0:4] #Apo 0 eos 4 Pytho >>lng[2:]#Ola ektos apo tous 2 protous thon Συμβολοσειρές(4)(συνεχεια)

  18. Oι συμβολοσειρές στην Python αντίθετα με την C δεν είναι μεταβλητές. Επίσης στην Python μπορούμε να έχουμε αρνητικό αριθμό ως δείκτη προσπέλασης μια συμβολοσειράς. Συμβολοσειρές(5)

  19. >>> lng[-1] # O teleytaios xaraktiras 'n' >>> lng[-2] # O proteleytaios 'o' >>> lng[-2:] # Oi dyo teleyataioi 'on' >>> lng[:-2] # Oloi ektos apo tous 2 teleytaious 'Pyth' Παράδειγμα

  20. +---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+ 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1 Παράδειγμα

  21. Οι λίστες στην Python είναι ο δεύτερος βασικός τύπος δυναμικής μνήμης. >>>list1=['Pink','Floyd',3,1973] >>>a ['Pink','Floyd',3,1973] Λίστες

  22. Όπωςκαι οι συμβολοσειρές έτσι και οι λίστες μπορούν οριστούν όρια στον δείκτη προσπέλασης. Αρχίζουν και αυτές από το στοιχείο 0 Μπορούν να υποστούν αλλαγή μεγέθους. Λίστες(2)

  23. >>> list1[0] 'Pink' >>> list1[3] 1973 >>> list1[-2] 3 >>> list1[1:-1] ['Floyd', 3] Παράδειγμα

  24. >>> list1[:2] + ['Wall', 1979] ['Pink', 'Floyd', 'Wall', 1979] >>> 3*list1[:3] + ['Breathe!'] ['Pink', 'Floyd', 3, 'Pink', 'Floyd', 3, 'Pink', 'Floyd', 3, 'Breathe!'] Παραδειγμα

  25. Σε αντίθεση με τις συμβολοσειρές στις λίστες μπορούμε να μεταβάλουμε το περιεχόμενο ενός στοιχείου. >>> list1 ['Pink', 'Floyd', 3, 1973] >>> list1[2] = list1[2] + 23 >>> list1 ['Pink', 'Floyd', 26, 1973] Λίστες (3)

  26. Επίσης μπορούμε να θέσουμε τα όρια και να κάνουμε αλλαγές εντός των ορίων που θέσαμε. >>> # Replace some items: ... list1[0:2] = ['Led', 'Zeppelin'] >>> a ['Led','Zeppelin',26,1973] Λίστες (3)

  27. Επίσης η συνάρτηση len() χρησιμοποιείται στις λίστες και επιστρέφει το μέγεθος μιας λίστας. >>>len(list1) 4 Λίστες (4)

  28. Η συνθήκη if λειτουργεί όπως ακριβώς ξέρουμε και από άλλες γλώσσες προγραμματισμού. Με την μόνη διαφορά ότι δεν είναι else if είναι elif. If Statement

  29. >>> x = int(input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: ... x = 0 ... print('Negative changed to zero') ... elif x == 0: ... print('Zero') ... elif x == 1: ... print('Single') Παράδειγμα

  30. ... else: ... print('More') ... More Παράδειγμα

  31. Στην Python η συνθήκη for διαφέρει λίγο από ότι έχουμε σε άλλες γλώσσες όπως η C ή Java. Στην Python η ακολουθία που εκτελείται στην επανάληψη γίνεται μεταξύ των αντικειμένων μιας δυναμικής ακολουθίας (πχ μια λίστα). Statement for

  32. >>> # Paradeigma for stin Python: ... s1 = ['Ubuntu', 'Fedora', 'Slackware'] >>> for x in s1: ... print(x, len(x)) ... Ubuntu 6 Fedora 6 Slackware 9 Παράδειγμα

  33. Δεν είναι ασφαλές να τροποποιούμε μια δυναμική ακολουθία (αυτό κυρίως απευθύνεται σε ακολουθίες όπως οι λίστες) την οποία έχουμε μέσα σε μια for. Μια καλή λύση είναι να βάλουμε ένα αντίγραφο της ακολουθίας με την βοήθεια των ορίων προσπέλασης. Stament for (2)

  34. >>> for x in s1[:]: # Dimiourgoume ena antigrapho tis s1 ... if len(x) > 6: s1.insert(0, x) ... >>> s1 ['Slackware', 'Ubuntu', 'Fedora', 'Slackware'] Παράδειγμα

  35. Αν χρειαστεί να προσπελάσουμε με την βοήθεια μιας αριθμητικής ακολουθίας σε μια for τότε η συνάρτηση range() γίνεται πολύ χρήσιμη. H συνάρτηση range() δημιουργεί μια ακολουθία αριθμών μεταξύ του startpoint & endpoint που δέχεται ως ορίσματα. range(startpoint,endpoint) range() function

  36. >>> for i in range(5): ... print(i) ... 0 1 2 3 4 Παράδειγμα

  37. To endpoint δεν είναι μέρος της ακολουθίας. Δηλαδή αν εκτελέσουμε range(10) θα πάρουμε τους αριθμούς από 0-9. Μπορούμε να θέσουμε και το βήμα με το οποίο θα αυξάνεται η ακολουθία μας. range() function (2)

  38. range(5, 10) 5 through 9 range(0, 10, 3) 0, 3, 6, 9 range(-10, -100, -30) -10, -40, -70 Παράδειγμα

  39. >>> a = ['Dark', 'Side', 'of', 'the', 'Moon'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Dark 1 Side 2 of 3 the 4 Moon Παράδειγμα

  40. >>> def fib(n): # Sinartisi akolouthias fibonacci ... """Ektiposi mias akolouthias fibonacci""" ... a, b = 0, 1 ... while b < n: ... print(b, end=' ') ... a, b = b, a+b ... print() ... >>> # Klisi sinartisis: ... fib(2000) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 Συναρτήσεις

  41. Στην Python ορίζουμε συναρτήσεις με την λέξη def. Δίπλα από την λέξη def είναι το όνομα και οι παράμετροι της συνάρτησης. Το σώμα της συνάρτησης αρχίζει στην επομένη γραμμή από κάτω. Συναρτήσεις

  42. Η δημιουργία μια συνάρτησης δημιουργεί ένα τοπικό όνομα συνάρτησης και έχει μια τιμή που αναγνωρίζεται ως user-defined function. Αυτό το όνομα μπορούμε να το αναθέσουμε σε ένα καινούργιο σύμβολο και να χρησιμοποιούμε και αυτό με το ίδιο αποτέλεσμα. Συναρτήσεις (2)

  43. >>> fib <function fib at 10042ed0> >>> f = fib >>> f(100) 1 1 2 3 5 8 13 21 34 55 89 Παράδειγμα

  44. Η συνάρτηση fib που ορίσαμε δεν επιστρέφει καμία τιμή. >>> fib(0) >>> print(fib(0)) None Συναρτήσεις (3)

  45. Μπορούμε να δημιουργούμε συναρτήσεις οι οποίες μπορούν να επιστρέφουν ένα αποτέλεσμα. Είναι πολύ εύκολο να γράψουμε την συνάρτηση fib να επιστρέφει μια λίστα αντί να εκτυπώνει την ακολουθία. Συναρτήσεις (3)

  46. >>> def fib2(n): # epistrofi akolouthias fibonacci ... """Epistrofi mias listas me ta apotelesmata akolouthias fibonacci gia n.""" ... result = [] ... a, b = 0, 1 ... while b < n: ... result.append(b) ... a, b = b, a+b ... return result ... >>> f100 = fib2(100) # klisi sinartisis >>> f100 # ektiposi apotelesmatos [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] Παράδειγμα

  47. Μπορούμε να γράψουμε και συναρτήσεις με μεταβλητό αριθμό arguments.Υπάρχουν 3 τρόποι και οι συνδυασμοί τους. Default Argument Values Κeyword Arguments Arbitary Argument List. Συναρτήσεις (4)

  48. Όταν ορίζουμε μια συνάρτηση μπορούμε να έχουμε προκαθορισμένες τιμές για ένα argument. Αυτό μας βοηθάει στο ότι μπορούμε να καλέσουμε την συνάρτηση και να δώσουμε λιγότερα ορίσματα αφού υπάρχουν προκαθορισμένες τιμές. Default Argument Values

  49. def ask_ok(prompt, retries=4, complaint='Yes or no, please!'): while True: ok = input(prompt) if ok in ('y', 'ye', 'yes'): return True if ok in ('n', 'no', 'nop', 'nope'): return False retries = retries - 1 if retries < 0: raise IOError('refusenik user') print(complaint) Παράδειγμα

  50. Μια συνάρτηση μπορεί να κληθεί χρησιμοποιώντας keyword arguments του τύπου keyword=value. Keyword Arguments

More Related