Εργαλεία Χρήστη

Εργαλεία ιστότοπου


python

Σύγκριση εκδόσεων

Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.

Σύνδεσμος σε αυτή την προβολή διαφορών.

Προηγούμενος έλεγχος και από τις δύο πλευρές Προηγούμενη αναθεώρηση
Επόμενη αναθεώρηση
Προηγούμενη αναθεώρηση
python [2017/03/21 11:41]
chiossif
python [2021/03/18 10:49] (τρέχουσα)
176.58.194.132 [Λίγα Μαθηματικά]
Γραμμή 13: Γραμμή 13:
  
 Επομένως,χωρίς να πειράξουμε τα προηγούμενα, θα προσπαθήσουμε να κάνουμε τον κώδικα πιο εκλεπτυσμένο και σύντομο. Επομένως,χωρίς να πειράξουμε τα προηγούμενα, θα προσπαθήσουμε να κάνουμε τον κώδικα πιο εκλεπτυσμένο και σύντομο.
 +
 +
 +
  
  
Γραμμή 21: Γραμμή 24:
 ======Τέλειωνε, θέλω να προγραμματίσω!====== ======Τέλειωνε, θέλω να προγραμματίσω!======
  
-για να προγραμματίσει κάποιος σε Python θα πρέπει αρχικά να την έχει εγκατεστημένη στον υπολογιστή του.+Για να προγραμματίσει κάποιος σε Python θα πρέπει αρχικά να την έχει εγκατεστημένη στον υπολογιστή του.
  
 Η εγκατάσταση είναι μια πάρα πολύ απλή διαδικασία, αρκεί κάποιος να επισκεφτεί την σελίδα της python, http://www.python.org/download/ και να κατεβάσει την έκδοση για το λειτουργικό σύστημα που έχει. Η εγκατάσταση είναι μια πάρα πολύ απλή διαδικασία, αρκεί κάποιος να επισκεφτεί την σελίδα της python, http://www.python.org/download/ και να κατεβάσει την έκδοση για το λειτουργικό σύστημα που έχει.
  
 Για όποιον χρησιμοποιεί GNU/Linux η εγκατάσταση είναι ακόμα πιο εύκολη: Αρκεί να ανοίξει τον package manager που χρησιμοποιεί και να ψάξει (search) για την Python και έπειτα να την εγκαταστήσει. Επίσης σε πρόσφατες διανομές μπορεί η Python να είναι ήδη εγκατεστημένη στο σύστημά σας. Για να το διαπιστώσετε απλά ανοίξτε την κονσόλα σας και πληκτρολογήστε : Για όποιον χρησιμοποιεί GNU/Linux η εγκατάσταση είναι ακόμα πιο εύκολη: Αρκεί να ανοίξει τον package manager που χρησιμοποιεί και να ψάξει (search) για την Python και έπειτα να την εγκαταστήσει. Επίσης σε πρόσφατες διανομές μπορεί η Python να είναι ήδη εγκατεστημένη στο σύστημά σας. Για να το διαπιστώσετε απλά ανοίξτε την κονσόλα σας και πληκτρολογήστε :
-        $ python + $ python 
 και πατήστε enter. Αν η γλώσσα είναι εγκατεστημένη θα πρέπει να δείτε κάτι τέτοιο: και πατήστε enter. Αν η γλώσσα είναι εγκατεστημένη θα πρέπει να δείτε κάτι τέτοιο:
-  
- Python 2.5.1 (r251:54863, Sep 15 2007, 20:02:02) 
- [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 
- Type "help", "copyright", "credits" or "license" for more information. 
- >>> 
  
-Να σημειωθεί εδώ ότι η πιο πρόσφατη έκδοση της Python πλέον είναι η ενώ το tutorial είναι γραμμένο για 2.6. Έχει κάποιες βασικές διαφορέςοπότε αν σκοπεύετε να δουλέψετε στην καλό είναι να τις διαβάσετε και να τροποποιήσετε τα προγράμματα αναλόγως.+ Python 3.6.0 (defaultJan 16 2017, 12:12:55)  
 + [GCC 6.3.1 20170109] on linux 
 + Type "copyright", "credits" or "license()" for more information. 
 + >>>
  
-Όταν λοιπόν είστε έτοιμοι να γράψετε το πρόγραμμά σας θα χρειαστείτε επεξεργαστή κειμένου. Αυτός μπορεί να είναι από τα απλά Notepad και gedit ή να είναι πιο "κατάλληλος" για Python, όπως είναι ο IDLE o οποίος αναγνωρίζει διάφορες οντότητες και τις χρωματίζει διαφορετικά κάνοντας τη ζωή σας ευκολότερη! Καλό θα ήταν να δουλεύετε σε IDLE ο οποίος έχει σχεδιαστεί ειδικά για την Python. (o IDLE βρίσκεται μέσα στο "πακέτο" της python που κατεβάζετε για τα Ms Windows. Στο Linux απλά ψάξτε τον και εγκαταστήστε τον μέσω του package manager σας.)+Να σημειωθεί εδώ ότι η πιο πρόσφατη έκδοση της Python πλέον είναι η 3. Tο tutorial σήμερα είναι γραμμένο για 3 και αναφέρει τις διαφορές με την 2 όπου υπάρχουν. Επειδή υπάρχουν κάποιες βασικές διαφορές (π.χ. η raw_input αντί για την input της έκδοσης 3), αν σκοπεύετε να δουλέψετε στην 2 καλό είναι να τις διαβάσετε και να τροποποιήσετε τα προγράμματα αναλόγως. 
 + 
 +Όταν λοιπόν είστε έτοιμοι να γράψετε το πρόγραμμά σας θα χρειαστείτε επεξεργαστή κειμένου. Αυτός μπορεί να είναι από τα απλά Notepad και gedit ή να είναι πιο "κατάλληλος" για Python, όπως είναι o atom και ο IDLE oι οποίοι αναγνωρίζουν διάφορες οντότητες και τις χρωματίζουν διαφορετικά κάνοντας τη ζωή σας ευκολότερη! Καλό θα ήταν να δουλεύετε σε IDLE ο οποίος έχει σχεδιαστεί ειδικά για την Python. (o IDLE βρίσκεται μέσα στο "πακέτο" της python που κατεβάζετε για τα Ms Windows. Στο Linux απλά ψάξτε τον και εγκαταστήστε τον μέσω του package manager σας.) (Για τον atom μην ξεχάσετε να εγκαταστήσετε το πακέτο script ώστε να εκτελείτε τα προγράμματά σας με απλό τρόπο)
  
 Επειδή το να γράφεις κώδικα σε απλό κειμενογράφο δεν είναι πρακτικό, συνίσταται να κατεβάσετε τον IDLE εξαρχής για να υπάρχει μια κοινή βάση επικοινωνίας. Επειδή το να γράφεις κώδικα σε απλό κειμενογράφο δεν είναι πρακτικό, συνίσταται να κατεβάσετε τον IDLE εξαρχής για να υπάρχει μια κοινή βάση επικοινωνίας.
 +
  
  
Γραμμή 51: Γραμμή 55:
  
 Όταν λοιπόν γράψουμε το παραπάνω στον IDLE και πατήσουμε enter στην οθόνη μας θα εμφανιστεί το παρακάτω: Όταν λοιπόν γράψουμε το παραπάνω στον IDLE και πατήσουμε enter στην οθόνη μας θα εμφανιστεί το παρακάτω:
-       Geia sou ntounia!+ Geia sou ntounia!
  
 Από εδώ και πέρα ο κώδικας θα έχει τη μορφή Από εδώ και πέρα ο κώδικας θα έχει τη μορφή
  
-      >>> print('Geia sou ntounia!'+ >>> print('Geia sou ntounia!'
-      Geia sou ntounia!+ Geia sou ntounia!
  
 τα 3 > αποτελεί σημάδι ότι αυτή τη σειρά την **εισάγουμε εμείς** τα 3 > αποτελεί σημάδι ότι αυτή τη σειρά την **εισάγουμε εμείς**
Γραμμή 63: Γραμμή 67:
 Σε αυτό το σημείο να αναφέρουμε επίσης ότι οτιδήποτε και να γράψουμε πίσω από το σύμβολο # ο υπολογιστής το αγνοεί. Ουσιαστικά το # χρησιμοποιείται για να εισάγουμε σχόλια μέσα στον κώδικα μας για να διευκολύνουν κάποιον που τον διαβάζει. Σε αυτό το σημείο να αναφέρουμε επίσης ότι οτιδήποτε και να γράψουμε πίσω από το σύμβολο # ο υπολογιστής το αγνοεί. Ουσιαστικά το # χρησιμοποιείται για να εισάγουμε σχόλια μέσα στον κώδικα μας για να διευκολύνουν κάποιον που τον διαβάζει.
  
-      >>> print('Geia sou ntounia!') #ayta den fainontai giati einai sxolia + >>> print('Geia sou ntounia!') #ayta den fainontai giati einai sxolia 
-      Geia sou ntounia!+ Geia sou ntounia!
  
  
  
 παρατηρούμε ότι το print είναι χρωματισμένο πορτοκαλί που υποδηλώνει ότι είναι μια εντολή ενώ το 'Geia sou ntounia!' είναι πράσινο που υποδηλώνει ότι είναι ένα //string//. //String// ονομάζεται ότι βρίσκεται ανάμεσα από δυο ' και στην οθόνη εμφανίζεται αυτούσιο! παρατηρούμε ότι το print είναι χρωματισμένο πορτοκαλί που υποδηλώνει ότι είναι μια εντολή ενώ το 'Geia sou ntounia!' είναι πράσινο που υποδηλώνει ότι είναι ένα //string//. //String// ονομάζεται ότι βρίσκεται ανάμεσα από δυο ' και στην οθόνη εμφανίζεται αυτούσιο!
 +
  
  
Γραμμή 100: Γραμμή 105:
  
 Ευτυχώς στην έκδοση 3 δεν υπάρχει αυτό το θέμα. Η διαίρεση δίνει το σωστό αποτέλεσμα όπως κι αν είναι γραμμένοι οι αριθμοί: Ευτυχώς στην έκδοση 3 δεν υπάρχει αυτό το θέμα. Η διαίρεση δίνει το σωστό αποτέλεσμα όπως κι αν είναι γραμμένοι οι αριθμοί:
-    >>> 2/3 + >>> 2/3 
-    0.6666666666666666+ 0.6666666666666666
  
 Μπορούμε επίσης να βάλουμε μεταβλητές  Μπορούμε επίσης να βάλουμε μεταβλητές 
Γραμμή 118: Γραμμή 123:
  
 Όπως είπαμε και πριν στην Python3 δεν έχουμε θέμα: Όπως είπαμε και πριν στην Python3 δεν έχουμε θέμα:
-    >>> x=5 + >>> x=5 
-    >>> y=12 + >>> y=12 
-    >>> x*y + >>> x*y 
-    60 + 60 
-    >>> x/y + >>> x/y 
-    0.4166666666666667+ 0.4166666666666669
  
 σημείωση: Θα αναρωτιέστε "τι τα θέλω τόσα δεκαδικά". πράγματι, πιο κάτω θα αναφερθεί ένας τρόπους που κρατάμε όσα θέλουμε. σημείωση: Θα αναρωτιέστε "τι τα θέλω τόσα δεκαδικά". πράγματι, πιο κάτω θα αναφερθεί ένας τρόπους που κρατάμε όσα θέλουμε.
Γραμμή 199: Γραμμή 204:
  
 **e (math.e)**. **e (math.e)**.
 +
  
  
Γραμμή 215: Γραμμή 221:
 //Φωνή από το πουθενά// :"Μάστορα πέρασαν τα 3 λεπτά!" //Φωνή από το πουθενά// :"Μάστορα πέρασαν τα 3 λεπτά!"
  
-    import math +  import math 
-    xa=input('Dose mou to Xa:' #eisagoume to Xa +  xa=input('Dose mou to Xa:' #eisagoume to Xa 
-    xa=float(xa)                     #metatrepoume to int se float  +  xa=float(xa)                     #metatrepoume to int se float  
-    ya=input('Dose mou to Ya:' #eisagoume to Ya +  ya=input('Dose mou to Ya:' #eisagoume to Ya 
-    ya=float(ya)     +  ya=float(ya)     
-    sab=input('Dose mou tin apostasi AB:') #eisagoume to Sab +  sab=input('Dose mou tin apostasi AB:') #eisagoume to Sab 
-    sab=float(sab) +  sab=float(sab) 
-    aab=input('Dose mou tin gonia diey8insis ab -se grad-:') #eisagoume to aAB se grad +  aab=input('Dose mou tin gonia diey8insis ab -se grad-:') #eisagoume to aAB se grad 
-    aab=float(aab) +  aab=float(aab) 
-    aabr=math.pi*aab/200   #metatropi tou aAB apo grad se rad +  aabr=math.pi*aab/200   #metatropi tou aAB apo grad se rad 
-    xb= xa+sab*math.sin(aabr) #ypologismos Xb +  xb= xa+sab*math.sin(aabr) #ypologismos Xb 
-    yb= ya+sab*math.cos(aabr) #ypologismos Xb +  yb= ya+sab*math.cos(aabr) #ypologismos Xb 
-    print('To simeio B exei syntetagmenes Xb:', xb, ', Yb:' , yb)   #epistrofi stin o8oni twn timwn Xb, Yb+  print('To simeio B exei syntetagmenes Xb:', xb, ', Yb:' , yb)   #epistrofi stin o8oni twn timwn Xb, Yb
  
 Και αυτό ήταν! Και αυτό ήταν!
Γραμμή 234: Γραμμή 240:
 Τώρα ας το κάνουμε λίγο πιο τακτοποιημένο, εισάγοντας δυο νέες φίλες, την .split() και την %.3f. Για να δούμε: Τώρα ας το κάνουμε λίγο πιο τακτοποιημένο, εισάγοντας δυο νέες φίλες, την .split() και την %.3f. Για να δούμε:
  
-    import math +  import math 
-    xa, ya=input('Dose mou to Xa kai Ya -xwrismena me komma-:').split(',' #eisagoume to Xa kai Ya +  xa, ya=input('Dose mou to Xa kai Ya -xwrismena me komma-:').split(',' #eisagoume to Xa kai Ya 
-    xa=float(xa)                     #metatrepoume to int se float  +  xa=float(xa)                     #metatrepoume to int se float  
-    ya=float(ya) +  ya=float(ya) 
-    sab, aab=input('Dose mou tin apostasi AB kai tin gwnia diey8insis aAb (se grad) -xwrismenes me komma -:').split(','+  sab, aab=input('Dose mou tin apostasi AB kai tin gwnia diey8insis aAb (se grad) -xwrismenes me komma -:').split(','
-    sab=float(sab) +  sab=float(sab) 
-    aab=float(aab) +  aab=float(aab) 
-    aabr=math.pi*aab/200   #metatropi tou aAB apo grad se rad +  aabr=math.pi*aab/200   #metatropi tou aAB apo grad se rad 
-    xb= xa+sab*math.sin(aabr) #ypologismos Xb +  xb= xa+sab*math.sin(aabr) #ypologismos Xb 
-    yb= ya+sab*math.cos(aabr) #ypologismos Xb +  yb= ya+sab*math.cos(aabr) #ypologismos Xb 
-    print('To simeio B exei syntetagmenes Xb: %.3f, Yb: %.3f' %(xb, yb))   #epistrofi stin o8oni twn timwn Xb, Yb+  print('To simeio B exei syntetagmenes Xb: %.3f, Yb: %.3f' %(xb, yb))   #epistrofi stin o8oni twn timwn Xb, Yb 
 + 
 +Τι έχουμε κάνει εδω; Ουσιαστικά εισάγουμε δυο μεταβλητές με μια input (raw_input), "λέγοντας" απλά στο πρόγραμμα ότι όταν "δει" κόμμα -.split(',')- να "καταλάβει" ότι μετά από εκεί είναι η δεύτερη μεταβλητή. Επίσης με την %.3f περιορίσαμε τα δεκαδικά σε 3 (με %.4f τα περιορίζουμε σε 4 και πάει λέγοντας). 
 + 
 +Με το σύμβολο % ο υπολογιστής "καταλαβαίνει" ότι εδώ είναι θέση μεταβλητής που του την ορίζουμε στο τέλος, έξω από το string. (string είπαμε είναι ότι βρίσκετε ανάμεσα σε δυο ') Στο συγκεκριμένο πρόγραμμα έχουμε δυο % σε μια γραμμή αλλά ο υπολογιστής δεν μπερδεύεται επειδή στο τέλος του λέμε με ποια σειρά να βάλει τις μεταβλητές %(xb,yb) 
  
 Δυστυχώς μέχρι τώρα η input στην Python2 δεν έχει αποκτήσει την split της οπότε πρέπει να χρησιμοποιήσουμε την raw_input με παρόμοιο τρόπο: Δυστυχώς μέχρι τώρα η input στην Python2 δεν έχει αποκτήσει την split της οπότε πρέπει να χρησιμοποιήσουμε την raw_input με παρόμοιο τρόπο:
Γραμμή 259: Γραμμή 269:
   yb= ya+sab*math.cos(aabr) #ypologismos Xb   yb= ya+sab*math.cos(aabr) #ypologismos Xb
   print('To simeio B exei syntetagmenes Xb: %.3f, Yb: %.3f' %(xb, yb))   #epistrofi stin o8oni twn timwn Xb, Yb   print('To simeio B exei syntetagmenes Xb: %.3f, Yb: %.3f' %(xb, yb))   #epistrofi stin o8oni twn timwn Xb, Yb
- 
- 
-Τι έχουμε κάνει εδω; Ουσιαστικά εισάγουμε δυο μεταβλητές με μια input (raw_input), "λέγοντας" απλά στο πρόγραμμα ότι όταν "δει" κόμμα -.split(',')- να "καταλάβει" ότι μετά από εκεί είναι η δεύτερη μεταβλητή. Επίσης με την %.3f περιορίσαμε τα δεκαδικά σε 3 (με %.4f τα περιορίζουμε σε 4 και πάει λέγοντας). 
- 
-Με το σύμβολο % ο υπολογιστής "καταλαβαίνει" ότι εδώ είναι θέση μεταβλητής που του την ορίζουμε στο τέλος, έξω από το string. (string είπαμε είναι ότι βρίσκετε ανάμεσα σε δυο ') Στο συγκεκριμένο πρόγραμμα έχουμε δυο % σε μια γραμμή αλλά ο υπολογιστής δεν μπερδεύεται επειδή στο τέλος του λέμε με ποια σειρά να βάλει τις μεταβλητές %(xb,yb)  
  
  
Γραμμή 511: Γραμμή 516:
     >>>a     >>>a
     [10, 9, 8, 8, 6, 5, 4, 3, 3, 2, 1]     [10, 9, 8, 8, 6, 5, 4, 3, 3, 2, 1]
 +
  
 =====Συναρτήσεις===== =====Συναρτήσεις=====
Γραμμή 545: Γραμμή 551:
         "Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi, dedomenou tou xronou pou ekane gia na pesei"         "Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi, dedomenou tou xronou pou ekane gia na pesei"
         S=0.5*g*pow(t,2)         S=0.5*g*pow(t,2)
-        print S+        print(S)
  
 Ας αναλύσουμε την λειτουργία της συνάρτησης: Ας αναλύσουμε την λειτουργία της συνάρτησης:
Γραμμή 569: Γραμμή 575:
 Θυμάστε το docstring? Μπορείτε να το δείτε ακόμα και στο runtime, γράφοντας: Θυμάστε το docstring? Μπορείτε να το δείτε ακόμα και στο runtime, γράφοντας:
  
-    >>> print freefall.__doc__+    >>> print(freefall.__doc__)
     Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi,dedomenou tou xronou pou ekane gia na pesei     Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi,dedomenou tou xronou pou ekane gia na pesei
 +
  
  
Γραμμή 585: Γραμμή 592:
 [[http://www.scipy.org/ | SciPy]] ανοιχτό λογισμικό για τα μαθηματικά, τις επιστήμες και την μηχανική.  [[http://www.scipy.org/ | SciPy]] ανοιχτό λογισμικό για τα μαθηματικά, τις επιστήμες και την μηχανική. 
  
-[[http://www.pythonware.com/library/tkinter/introduction/index.htm | Tkinter]] άρθρωμα (module) για την εργαλειοθήκη (toolkit) διεπαφής του γραφικού περιβάλλοντος (GUI) Tk.+[[http://tkinter.unpythonic.net/wiki | Tkinter]] άρθρωμα (module) για την εργαλειοθήκη (toolkit) διεπαφής του γραφικού περιβάλλοντος (GUI) Tk.
  
 [[http://pyfltk.sourceforge.net/ | pyFLTK]] προσαρμογέας (wrapper) για την εργαλειοθήκη (toolkit) διεπαφής του γραφικού περιβάλλοντος (GUI) FLTk. [[http://pyfltk.sourceforge.net/ | pyFLTK]] προσαρμογέας (wrapper) για την εργαλειοθήκη (toolkit) διεπαφής του γραφικού περιβάλλοντος (GUI) FLTk.
Γραμμή 593: Γραμμή 600:
 [[http://www.pythonware.com/products/pil/ | Python Imaging Library]] πρόσθετες δυνατότητες ψηφιακής επεξεργασίας εικόνας στην φαρέτρα εντολών της Python. [[http://www.pythonware.com/products/pil/ | Python Imaging Library]] πρόσθετες δυνατότητες ψηφιακής επεξεργασίας εικόνας στην φαρέτρα εντολών της Python.
  
-[[http://opencv.willowgarage.com/documentation/python/index.html | OpenCV]] μια βιβλιοθήκη για επεξεργασία εικόνας σε πραγματικό χρόνο.+[[http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html | OpenCV]] μια βιβλιοθήκη για επεξεργασία εικόνας σε πραγματικό χρόνο.
  
 και πολλές πολλές άλλες :-) και πολλές πολλές άλλες :-)
python.1490096517.txt.gz · Τελευταία τροποποίηση: 2020/11/21 09:52 (εξωτερική τροποποίηση)