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

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

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

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


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

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

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

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

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

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

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

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

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 Συμβολοσειρές(3) •Στην Python μπορούμε να διαχειριστούμε τις συμβολοσειρές με πολλούς τρόπους. •word = 'Help' + 'A' >>> word 'HelpA' >>> ' ' '

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

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

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

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

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 | • • •

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

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

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

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

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

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

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 Statement for •Στην Python η συνθήκη for διαφέρει λίγο από ότι έχουμε σε άλλες γλώσσες όπως η C ή Java. •Στην Python η ακολουθία που εκτελείται στην επανάληψη γίνεται μεταξύ των αντικειμένων μιας δυναμικής ακολουθίας (πχ μια λίστα).

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

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

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

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

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

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

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) •

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

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

43 Παράδειγμα •>>> fib • •>>> f = fib •>>> f(100) •

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

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

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

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

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 arguments του τύπου keyword=value.

51 Παράδειγμα •def Band(members_num=0, guitar='None', bass='None', singer='None',drums='None'): •print("The band has”,members,”members.”) •print("Singer for the band:", singer) •print(“Guitarist for the band:”,guitar) •print(“Bass Player for the band:”,bass) print(“Drums player for the band:”,drums)

52 Παράδειγμα •>>>band() •The band has 0 members •Singer for the band:None •Guitarist for the band:None •Bass Player for the band:None Drums player for the band:None

53 Παράδειγμα •band(member_num=4,guitar='Jimmy Page',bass='John Paul Jones',singer='Robert Plant',drums='John Bonham' •The band has 4 members •Singer for the band: Robert Plant •Guitarist for the band: Jimmy Page •Bass Player for the band: John Paul Jones Drums player for the band: John Bonham

54 Keyword Arguments •Επίσης μπορούμε να δηλώσουμε keyword arguments με αλλο τρόπο.

55 Κeyword Arguments •def cheeseshop(kind, *arguments, **keywords): •print("-- Do you have any", kind, "?") •print("-- I'm sorry, we're all out of", kind) •for arg in arguments: print(arg) •print("-" * 40) •keys = sorted(keywords.keys()) •for kw in keys: print(kw, ":", keywords[kw])

56 Keyword Arguments •Η κλήση της παραπάνω συνάρτησης θα γίνει κάπως έτσι. •cheeseshop("Limburger", "It's very runny, sir.", •"It's really very, VERY runny, sir.", •shopkeeper="Michael Palin", •client="John Cleese", •sketch="Cheese Shop Sketch")

57 Κeyword Arguments •Kαι το αποτέλεσμα : •-- Do you have any Limburger ? •-- I'm sorry, we're all out of Limburger •It's very runny, sir. •It's really very, VERY runny, sir. • •client : John Cleese •shopkeeper : Michael Palin •sketch : Cheese Shop Sketch

58 Arbitrary Argument Lists •Τέλος μπορούμε να απλά να βάλουμε τα ορίσματα μιας συνάρτησης σε μια δυναμική ακολουθία (πχ μια λίστα) και να τα περάσουμε από εκεί.

59 Παράδειγμα •>>> def concat(*args, sep="/"): •... return sep.join(args) •... •>>> concat("earth", "mars", "venus") •'earth/mars/venus' •>>> concat("earth", "mars", "venus", sep=".") •'earth.mars.venus'

60 Κλάσεις •Η Python εφόσον υποστηρίζει αντικειμενοστραφή λογική δίνει την δυνατότητα για τον ορισμό κλάσεων.

61 Class Definition •class ClassName: • •. •

62 Class Definition. •Όπως και στις συναρτήσεις έτσι και στις κλάσεις πρέπει πρώτα να γίνει η δήλωση προτού υπάρξει κάποιο αποτέλεσμα. •Συνήθως μέσα σε μια κλάση έχουμε τις δηλώσεις των ιδιοτήτων και των μεθόδων της.

63 Παράδειγμα •class MyClass: •"""Mia apli class""" •I = #idiotita. •def f(self): #methodos. •return 'hello world'

64 Class Objects •Tα αντικείμενα μιας κλάσης υποστηρίζουν 2 είδη λειτουργιών. •Αttribute Reference •Instantiation

65 Attribute Reference •Όταν έχουμε ένα αντικείμενο μιας κλάσης,τότε αυτό έχει τα χαρακτηριστικά της κλάσης που ανήκει. •Έχουμε την δυνατότητα να αναφερθούμε σε αυτά. •Σύμφωνα με το Python Syntax μπορούμε να αναφερθούμε σε ένα attribute με αυτόν τον τρόπο •obj.atrr_name

66 Instantiation Όταν δημιουργούμε ένα αντικείμενο μιας κλάσης τότε του δίνουμε μια υπόσταση που υπακούει στην δήλωση της αντίστοιχης κλάσης. •Αυτή η διαδικασία ονομάζεται instantiation και γίνεται με την κλήση μιας συνάρτησης δημιουργού.

67 Μέθοδος Δημιουργός •Μια μέθοδος δημιουργός μέσα σε μια κλάση στην Python συντάσσεται κατά αυτόν τον τρόπο. •def __init__(argument1,argument2,...) •Είναι μια μέθοδος που χρησιμοποιείται όταν δίνουμε σε ένα αντικείμενο μια υπόσταση και μας βοηθάει να καθορίσουμε τις ιδιότητες της υπόστασης αυτής για την οποία έγινε η κλήση.

68 Παράδειγμα •>>> class Complex: •... def __init__(self, realpart, imagpart): •... self.r = realpart •... self.i = imagpart •... •>>> x = Complex(3.0, -4.5) •>>> x.r, x.i •(3.0, -4.5)

69 Instance Objects •Αναφορά σε ιδιότητα: myobject.x •Αναφορά σε μέθοδο: mybject.foo()


Κατέβασμα ppt "H γλώσσα Python •H Python είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου γενικής χρήσεως.Οι δημιουργοί της υποστηρίζουν ότι συνδυάζει μεγάλη δύναμη με."

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


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