topografoi.com



Author Topic: Python Wiki Tutorial  (Read 30704 times)

vagvaf

  • Administrator
  • Posts: 204
  • Gender: Male
  • Not all those who wander are lost.
Python Wiki Tutorial
« on: 26 Δεκ 2007, 12:19 »
Χαιρετώ σας!

Πρόσφατα ανακάλυψα την Python!
Είναι μαι πανεύκολη γλώσσα προγραμματισμού που έχει ιδιαίτερες εφαρμογές πάνω σε GIS.

Η απλότητα της με ενθουσίασε τόσο πολύ που άρχισα να μαθαίνω σίγα σίγα από το online documentation της και έπειτα αγόρασα και βιβλία!

Σκέφτηκα λοιπόν ότι ίσως εκεί έξω υπάρχουν αρκετοί από σας που σας αρέσει μεν ο προγραμματισμός άλλα βρίσκετeε την C++ πολύ δύσκολη ή too much για σας όπως εγώ!
Για αυτό δημιούργησα ένα wiki που κάνει μια εισαγωγή στην Python και εξηγεί 5 βασικά πράγματα, που με τα οποία όμως θα μπορέσετε να λύσετε αρκετά προβλήματα της σχολής μας.

Ορίστε το url : http://wiki.topografoi.com/doku.php/python

Ελπίζω να σας βοηθήσει!

πάρτε και ένα κομιξάκι που δείχνει την απλότητα της Python!

« Last Edit: 26 Δεκ 2007, 12:21 by Sairin_Lote »
I ♥ Python's Standard Library
Ⓐ▼▲ Ⓐ▼▲

mitsaras88

  • Posts: 17
Απ: Python Wiki Tutorial
« Reply #1 on: 28 Νοε 2009, 23:38 »
καλησπέρα.
ένα ζήτημα με απλές πράξεις στη python.θέλω την πράξη g=(π^2)*l/T
και γράφω

Python 2.6.4 (r264:75706, Nov  2 2009, 14:38:03)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> t=raw_input('dose periodo T:')
dose periodo T:3.00798
>>> l=2.2452
>>> g=math.pow(math.pi,2)*l/t
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'float' and 'str'
>>>

αν μπορεί κάποιος να μου πει τι δεν κάνω καλά τον κερνάω μπύρα (κι ας μην έχει αναπτύξει καθόλου ανοιχτό λογισμικό...)

chiossif

  • Posts: 334
Απ: Python Wiki Tutorial
« Reply #2 on: 29 Νοε 2009, 01:57 »
Δεν ξέρω python αλλά υποπτεύομαι ότι το t είναι κείμενο και όχι αριθμός.
Μάλλον θα έπρεπε να γράψεις

>>>t=float(raw_input('dose periodo T:'))

Ελπίζω να είναι αυτό.

mitsaras88

  • Posts: 17
Απ: Python Wiki Tutorial
« Reply #3 on: 29 Νοε 2009, 20:02 »
ευχαριστώ.
αυτό δούλεψε

vagvaf

  • Administrator
  • Posts: 204
  • Gender: Male
  • Not all those who wander are lost.
Απ: Python Wiki Tutorial
« Reply #4 on: 02 Δεκ 2009, 22:48 »
mitsaras88, καλό είναι να συνηθίσεις από τώρα να γράφεις με συναρτήσεις. To wiki βρίσκεται υπό ανανέωση, αλλά μέχρι να παραδοθεί στην χρήση σου γράφω λίγα πραματα εδώ.

Μια συνάρτηση κάνει ακριβώς τα ίδια πράγματα με αυτό που έκανες απλά, της ορίζεις τις μεταβλητές σου εξαρχής. Θα χρησιμοποιήσω ένα απλό παράδειγμα για να καταλάβεις τι εννοώ. Πρώτα θα το γράψω και ύστερα θα εξηγήσω, μην φρικάρεις λοιπόν.

Code: [Select]
def freefall(t, g=9.81):
    "Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi, dedomenou tou xronou pou ekane gia na pesei"
    S=0.5*g*pow(t,2)
    print S

Στην γραμμή 1 ορίζω την συνάρτηση freefall(), η οποία παίρνει ως μεταβλητές το t (χρόνος) και το g (επιταχυνση της βαρύτητας). Επειδή στα απλά προβλήματα το g έχει συνήθως την τιμή 9,81 μπορείς να το αγνοήσεις και να δηλώσεις μόνο τον χρόνο, και η Python θα δωσει την τιμή 9,81. Αν όμως θέλεις να κάνεις ένα πείραμα στο φεγγάρι, μπορεις να ορίσεις δικια σου τιμή.

Η 2η γραμμή ονομάζεται docstring και περιγράφει με λίγα λόγια την λειτουργία της συνάρτησης. Η χρήση της είναι προεραιτική, αλλά θα σου συνιστούσα να την χρησιμοποιείς πάντα, ώστε όταν κάποιος τρίτος διαβάζει τον κωδικά σου, να καταλαβαίνει από την αρχή τι περίπου κάνει.

Η 3η γραμμή, είναι ένας απλός υπολογισμός. Το pow(t,2) σημαίνει t στο τετράγωνο.

Μόλις εκτλέσεις το πρόγραμμα, δεν θα συμβεί τίποτα. Για να το χρισιμοποιήσεις πρέπει να γράψεις την συνάρτηση και να δώσεις μια ή δυο μεταβλητές, πχ

Code: [Select]
>>> freefall(4)
78.480000000000004
Το οποίο σου επιστρέφει το ύψος στο οποίο βρισκόταν ένα αντικείμενο, αν έκανε 4 secs να φτάσει το έδαφος (με g=9,81), και

Code: [Select]
>>> freefall(4,7)
56.0
Το οποίο σου επιστρέφει το ύψος στο οποίο βρισκόταν ένα αντικείμενο, αν έκανε 4 secs να φτάσει το έδαφος σε κάποιο πλανήτη με g=7 (στη Μεση Γή?)

Θυμάσαι που σου είπα πόσο χρήσιμο είναι το docstring? Μπορείς να το δεις ακόμα και στο runtime, γράφοντας:
Code: [Select]
>>> print freefall.__doc__
Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi,dedomenou tou xronou pou ekane gia na pesei
« Last Edit: 03 Δεκ 2009, 19:56 by vagvaf »
I ♥ Python's Standard Library
Ⓐ▼▲ Ⓐ▼▲

stardust

  • Posts: 24
  • Gender: Male
Απ: Python Wiki Tutorial
« Reply #5 on: 04 Δεκ 2009, 12:47 »
Υπάρχει κάτι που η python να μην έχει συνάρτηση γι' αυτό??? :o

vagvaf

  • Administrator
  • Posts: 204
  • Gender: Male
  • Not all those who wander are lost.
Απ: Python Wiki Tutorial
« Reply #6 on: 04 Δεκ 2009, 14:17 »
την συγκεκριμενη την έγραψα εγω :P
I ♥ Python's Standard Library
Ⓐ▼▲ Ⓐ▼▲

vagvaf

  • Administrator
  • Posts: 204
  • Gender: Male
  • Not all those who wander are lost.
Wiki Update
« Reply #7 on: 04 Δεκ 2009, 15:39 »
to Wiki της Python αναβαθμίστηκε και προστέθηκαν σε αυτό οι λίστες και οι συναρτήσεις που είναι η καρδιά της Python!. Stay tunned :)
I ♥ Python's Standard Library
Ⓐ▼▲ Ⓐ▼▲

mitsaras88

  • Posts: 17
Απ: Python Wiki Tutorial
« Reply #8 on: 06 Δεκ 2009, 18:16 »
ευχαριστούμε πολύ vagvaf για τον κόπο σου στο γουίκι!!
αποκτάει βάσεις για να γίνει πολύ καλός οδηγός...

Alexander

  • Posts: 30
  • Gender: Male
Απ: Python Wiki Tutorial
« Reply #9 on: 16 Δεκ 2009, 18:49 »
Μέσα σε όλα κι εγώ λοιπόν έψαξα κι εγώ και βρήκα έναν άλλο editor για την Python του οποίου το interface θα θυμίσει σε πολλούς Matlab. Ο editor αυτός ονομάζεται spyder  και βρίσκεται εδώ: http://code.google.com/p/spyderlib/downloads/list. Ομολογώ ότι τις δυνατότητές του δεν τις γνωρίζω πλήρως (τώρα μαθαίνω κι εγώ) αλλά ελπίζω ότι ψάχνοντας και με πειράματα θα εξοικειωθώ γρήγορα.

Προτείνω να κατεβάσετε το τελευταίο αρχείο ονόματι spyder-1.0.1.tar.gz. Αφού το κατεβάσετε πρέπει να το αποσυμπιέσετε σε κάποιο φάκελο του Home και η εγκατάστασή του γίνεται πολύ απλά με χρήση της εντολής sudo python setup.py install σε ένα τερματικό.
Σημειώνεται ότι για να δουλέψει η εντολή πρέπει να έχετε πάει πρώτα στο αντίστοιχο directory από το τερματικό.

Για να τρέξει πληκτρολογούμε spyder σε ένα τερματικό και ανοίγει το παράθυρο που φαίνεται παρακάτω:


Καλό και λέφτερο κώδικα σε όλους!!!
όποιος τη νύχτα περπατεί Windows έχει στο PC.....

vagvaf

  • Administrator
  • Posts: 204
  • Gender: Male
  • Not all those who wander are lost.
Απ: Python Wiki Tutorial
« Reply #10 on: 16 Δεκ 2009, 18:57 »
Nice! φαίνεται ωραίος παρόλλο που δεν έχω δει ποτέ την matlab
I ♥ Python's Standard Library
Ⓐ▼▲ Ⓐ▼▲

vagvaf

  • Administrator
  • Posts: 204
  • Gender: Male
  • Not all those who wander are lost.
Απ: Python Wiki Tutorial
« Reply #11 on: 16 Δεκ 2009, 20:16 »
Να συμπληρώσω ότ εγώ χρειάστηκε να εγκαταστήσω το python-qscintilla2

Code: [Select]
sudo apt-get install python-qscintilla2
Επίσης, αν δεν έχετε εγκαταστήσει ποτέ καμια KDE εφαρμογή, μάλλον θα χρειαστεί να εγκαταστήσετε και το KDE

Code: [Select]
sudo apt-get install kubuntu-desktop
Τέλος, για τους Gnome-άδες, μπορείτε να προσθέσετε το spyder στο μενου "Applications":

  • System -> Preferences -> Main Menu
  • Δημιουργήστε το μενού "Programming" αν δεν υπάρχει (New Menu)
  • Προσθέστε το spyder μέσα στο Programming (New item) και βάλτε όνομα και command : spyder
I ♥ Python's Standard Library
Ⓐ▼▲ Ⓐ▼▲

cps

  • Posts: 2
Απ: Python Wiki Tutorial
« Reply #12 on: 18 Δεκ 2009, 14:23 »
Για όσους ενδιφέρονται να δουλέψουν σε Python αυτή η διανομή http://www.pythonxy.com/foreword.php προσφέρει κάποια ενδιαφέροντα χαρακτηριστικά.
Περιλαμβάνει πολλές βιβλιοθήκες και εργαλεία που τα εγκαθιστάς εύκολα και γρήγορα. Είναι ότι πρέπει για αρχάριους χρήστες και για όσους θέλουν να εξελίξουν προγράμματα python σε windows.
Δείτε το.
(Γίνεται mirror από το ftp του πολυτεχνείου και κατεβαίνει πολύ γρήγορα)

chiossif

  • Posts: 334
Απ: Python Wiki Tutorial
« Reply #13 on: 18 Δεκ 2009, 21:45 »
Για όσους ενδιφέρονται να δουλέψουν σε Python αυτή η διανομή http://www.pythonxy.com/foreword.php προσφέρει κάποια ενδιαφέροντα χαρακτηριστικά.
Περιλαμβάνει πολλές βιβλιοθήκες και εργαλεία που τα εγκαθιστάς εύκολα και γρήγορα. Είναι ότι πρέπει για αρχάριους χρήστες και για όσους θέλουν να εξελίξουν προγράμματα python σε windows.
Δείτε το.
(Γίνεται mirror από το ftp του πολυτεχνείου και κατεβαίνει πολύ γρήγορα)

cps,
καλώς μας ήρθες.

Πρόκειται για μία σχεδόν πλήρη ομαδοποίηση της python και εργαλείων της για επιστημονικούς σκοπούς.
Είναι υπό GPLv3 (το είδα και ηρέμησα διότι με τρόμαξε που δεν υπήρχε στην πρώτη ιστοσελίδα καμία αναφορά σε άδεια χρήσης) και η επίσημη σελίδα είναι:
http://code.google.com/p/pythonxy/

Θα την δοκιμάσω και θα πω περισσότερα... Φυσικά όποιος το κάνει πρώτος ανεβάζει σε νέο θέμα με τίτλο Python(x,y) ένα σύντομο αλλά ενδεικτικό wiki (Εγχειρίδιο χρήσης στα ελληνικά :-) ) για το περιβάλλον και ο διαχειριστής είμαι βέβαιος θα το "περιποιηθεί"...

Για μια ακόμη φορά θα γράψω ότι η Python είναι το καλύτερο εργαλείο προγραμματισμού για τοπογράφους.

Ας συνεχίσουμε έτσι να έχουμε και κάτι να κάνουμε στις διακοπές...

Καλά Χριστούγεννα σε όλους.

cps

  • Posts: 2
Απ: Python Wiki Tutorial
« Reply #14 on: 21 Δεκ 2009, 19:57 »
Quote
Πρόκειται για μία σχεδόν πλήρη ομαδοποίηση της python και εργαλείων της για επιστημονικούς σκοπούς.
Είναι υπό GPLv3 (το είδα και ηρέμησα διότι με τρόμαξε που δεν υπήρχε στην πρώτη ιστοσελίδα καμία αναφορά σε άδεια χρήσης)
Το GPLv3 αναφέρεται στο πακεταρισμένο προϊόν που είναι ουσιαστικά ένα buildout κάποιων πολύ διαδεδομένων βιβλιοθηκών. Η καθεμιά από αυτές διατηρεί το αρχικό της license, οπότε δεν υπάρχει κανένα θέμα σε αυτό το σημείο.
 
Quote
Θα την δοκιμάσω και θα πω περισσότερα... Φυσικά όποιος το κάνει πρώτος ανεβάζει σε νέο θέμα με τίτλο Python(x,y) ένα σύντομο αλλά ενδεικτικό wiki (Εγχειρίδιο χρήσης στα ελληνικά :-) ) για το περιβάλλον και ο διαχειριστής είμαι βέβαιος θα το "περιποιηθεί"...
Το έχω δουλέψει πολύ σε μηχανήματα με windows όπου μου έλυσε πραγματικά τα χέρια, πριν αποκτήσω περισσότερη εμπειρία σχετική με το cheese shop και τα eggs-setuptools-distutils-buildout. Τον τελευταίο χρόνο έχω σταματήσει ουσιαστικά να το χρησιμοποιώ καθώς εμφανίζει μια σχετική υστέρηση στην ενημέρωση των εκδόσεων που περιλαμβάνει. Ωστόσο είναι ιδανικό για αυτούς που θέλουν κάτι εύκολα και γρήγορα, χωρίς πονοκεφάλους. Σχετικά με το wiki που προτείνεις το θέμα της εγκατάστασης είναι αρκετά απλό, επιλέγεις ποιες βιβλιοθήκες θες να εγκαταστήσεις και ο installer αναλαμβάνει τα υπόλοιπα. Το χρήσιμο θα ήταν να γίνει μια σύντομη περιγραφή του τί περιέχει και πού είναι χρήσιμο. Βέβαια στο σάιτ του πακέτου υπάρχουν αρκετές πληροφορίες για αυτά, ωστόσο εάν υπάρχει ενδιαφέρον θα μπορούσα να κωδικοποιήσω μερικά στοιχεία και να αναδείξω τις βιβλιοθήκες που είναι πιο χρήσιμες.


 

Copyright © topografoi.com