Python
Η Python είναι μια υψηλού επιπέδου, ερμηνευόμενη γλώσσα προγραμματισμού που σχεδιάστηκε με σκοπό την απλότητα και την αναγνωσιμότητα.
- Η σύνταξη είναι κοντά στην αγγλική γλώσσα, εύκολη για αρχάριους.
- Διαθέτει πολλές βιβλιοθήκες για ανάλυση δεδομένων, μηχανική μάθηση, ανάπτυξη ιστού κ.ά.
- Είναι συμβατή με Windows, macOS και Linux.
- Η καθαρή σύνταξη διευκολύνει τη συντήρηση.
- Η κοινότητά της είναι μεγάλη και ενεργή.
Εγκατάσταση
sudo apt install python3Installing Packages (Python3)
pip3 install package_nameΠώς να Εκτελέσετε Ένα Αρχείο Python
python3 file.pyBιβλιοθήκες
| Βιβλιοθήκη | Packages | Περιγραφή |
|---|---|---|
| seaborn | seaborn | Μια βιβλιοθήκη γραφικών βασισμένη στο matplotlib που παρέχει όμορφες και πιο εύκολες στη χρήση γραφικές παραστάσεις. |
| numpy | numpy | Χρησιμοποιείται για επιστημονικούς υπολογισμούς και επεξεργασία πινάκων |
| pandas | pandas | Χρησιμοποιείται για επεξεργασία και ανάλυση δεδομένων, παρέχοντας δομές δεδομένων όπως τα DataFrame. |
| matplotlib | matplotlib | Χρησιμοποιείται για δημιουργία γραφημάτων και απεικονίσεων δεδομένων. |
| scipy | scipy | Επέκταση του NumPy που παρέχει επιπλέον λειτουργίες για επιστημονικούς υπολογισμούς, συμπεριλαμβανομένων μεθόδων βελτιστοποίησης, αριθμητικής ολοκλήρωσης και πολλά άλλα. |
| tensorflow | tensorflow | Μια βιβλιοθήκη ανοιχτού κώδικα για μηχανική μάθηση και βαθιά μάθηση. |
| sklearn | scikit-learn | Μια βιβλιοθήκη μηχανικής μάθησης με πολλούς αλγορίθμους και εργαλεία προεπεξεργασίας δεδομένων. |
| nltk | nltk | Natural Language Toolkit Βιβλιοθήκη για επεξεργασία φυσικής γλώσσας, περιλαμβάνοντας λεξικά, κατηγοριοποίηση κειμένου και εξόρυξη πληροφοριών. |
| torch | torch | Μια βιβλιοθήκη για μηχανική μάθηση και βαθιά μάθηση παρόμοια με το TensorFlow. |
| requests | requests | Χρησιμοποιείται για εύκολη αποστολή HTTP αιτημάτων. |
| keras | keras | Ανώτερο επίπεδο αντιμετώπισης του TensorFlow για εύκολη και γρήγορη κατασκευή νευρωνικών δικτύων. |
| SQLAlchemy | SQLAlchemy | Μια SQL toolkit και Object-Relational Mapper (ORM) για τη διευκόλυνση της διαχείρισης βάσεων δεδομένων. |
| BeautifulSoup | beautifulsoup4 | Χρησιμοποιείται για την εξαγωγή δεδομένων από HTML και XML. |
| Django | Django | Ένα web framework για την ανάπτυξη web εφαρμογών. |
| Pygame | pygame | Χρησιμοποιείται για την ανάπτυξη παιχνιδιών. |
| OpenCV | opencv-python | Χρησιμοποιείται για την επεξεργασία εικόνων και την αναγνώριση προτύπων. |
| scikit-image | scikit-image | Χρησιμοποιείται για επεξεργασία εικόνων, περιλαμβάνοντας φίλτρα, μετασχηματισμούς και εξόρυξη χαρακτηριστικών. |
| os | os-sys | Το os στην Python παρέχει πολλές λειτουργίες για τον έλεγχο και τη διαχείριση του λειτουργικού συστήματος. |
| tkinter | tkintertable | Είναι η βιβλιοθήκη προεπιλογής για τη δημιουργία GUI εφαρμογών στην Python, που βασίζεται στο toolkit Tk. Είναι εύκολη στην εκμάθηση και υποστηρίζεται από την πλειονότητα των εγκαταστάσεων Python. |
| PyQt5 | PyQt5 | Μια Python-δέσμευση του Qt framework. Το Qt είναι ένα πολύ ισχυρό και πλούσιο σε δυνατότητες GUI framework, και η PyQt παρέχει πρόσβαση σε αυτό. |
| PySide6 | PySide6 | Επίσης, μια Python-δέσμευση του Qt framework, παρέχει παρόμοια λειτουργικότητα με το PyQt. |
| wxPython | wxPython | Παρέχει δέσμευση στο wxWidgets, που είναι ένα cross-platform C++ framework για GUI. |
| PyGTK | PyGTK | Μια Python-δέσμευση του GTK+ framework, που είναι ένα άλλο δημοφιλές framework για GUI. |
| PySimpleGUI | PySimpleGUI | Μια απλή βιβλιοθήκη που παρέχει απλές γραφικές διεπαφές χρήστη με ελάχιστο κώδικα. |
| PyQtGraph | pyqtgraph | Χρησιμοποιείται για δημιουργία γρήγορων και αποτελεσματικών παραστάσεων δεδομένων με PyQt και OpenGL. |
| Flask | Flask | Ελαφρύ web framework για την ανάπτυξη web εφαρμογών. |
| spaCy | spacy | Βιβλιοθήκη για επεξεργασία φυσικής γλώσσας με εστίαση στην ταχύτητα και την ακρίβεια. |
| lxml | lxml | Πολύ γρήγορη βιβλιοθήκη για επεξεργασία XML και HTML. |
| sympy | sympy | Βιβλιοθήκη για συμβολικούς υπολογισμούς. |
| pytest | pytest | Εργαλείο για τη συγγραφή και εκτέλεση δοκιμών μονάδας. |
| Scrapy | Scrapy | Βιβλιοθήκη για web scraping και συλλογή δεδομένων από τον ιστό. |
| Celery | celery | Διαχείριση εργασία επεξεργασίας στο background. |
| pytest-django | pytest-django | Επέκταση του pytest για τη δοκιμή εφαρμογών Django. |
| pytest-django | pytest-django | Επέκταση του pytest για τη δοκιμή εφαρμογών Django. |
| Selenium | selenium | Βιβλιοθήκη που χρησιμοποιείται για αυτοματοποίηση περιήγησης σε ιστοσελίδες, ιδανική για testing εφαρμογών ή scraping δυναμικού περιεχομένου. |
Μεταβλητές & Τύποι Δεδομένων
Για να χρησιμοποιήσουμε μια μεταβλητή, της δίνουμε όνομα και τιμή με το =:
x = 15Προσοχή: Δεν δηλώνουμε τύπο (π.χ. όπως στη C). Στην Python οι βασικοί τύποι είναι:
- int, float, complex
- str (συμβολοσειρές)
- bool (True/False)
Είσοδος (Input) & Έξοδος (Output)
Με input() λαμβάνουμε δεδομένα από τον χρήστη
name = input("Ποιο είναι το όνομά σου; ")
print("Γειά σου, " + name)Μετατροπή σε αριθμό
age = int(input("Πόσο χρονών είσαι; "))
print("Είσαι " + str(age) + " χρονών.")print() εμφανίζει δεδομένα στην κονσόλα
print("GrCode Club")Πολλαπλές τιμές
name = "Νίκος"
age = 25
print("Το όνομά μου είναι", name, "και είμαι", age, "χρονών.")Δομές Ελέγχου
Χρησιμοποιούνται για λήψη αποφάσεων:
if
x = 10
if x > 5:
print("Το x είναι μεγαλύτερο από 5")il / else
x = 3
if x > 5:
print("Μεγαλύτερο από 5")
else:
print("Μικρότερο ή ίσο με 5")if / elif /else
x = 7
if x > 10:
print("Μεγαλύτερο από 10")
elif x == 7:
print("Ίσο με 7")
else:
print("Μικρότερο από 10 αλλά όχι 7")Βρόχοι (Loops)
Επανάληψη: For
for i in range(5):
print(i)For: Με αρχική/τελική/βήμα:
for i in range(2, 11, 2):
print(i)Επανάληψη: While
i = 1
while i <= 5:
print(i)
i = i + 1Break και Continue
for i in range(10):
if i == 5:
break
print(i)Αρχεία
Ανάγνωση (Read)
file = open("example.txt", "r") # Άνοιγμα για ανάγνωση
content = file.read()
print(content)
file.close()Ανάγνωση Γραμμών
readline(): Διαβάζει μία γραμμή τη φορά.
readlines(): Διαβάζει όλες τις γραμμές και τις επιστρέφει ως λίστα.
file = open("example.txt", "r")
line = file.readline()
lines = file.readlines()
file.close()Εγγραφή σε Αρχείο (Write)
Ανοίγει το αρχείο για εγγραφή. Αν το αρχείο υπάρχει, διαγράφει το περιεχόμενο και ξεκινάει με νέο περιεχόμενο. Αν δεν υπάρχει, το δημιουργεί.
file = open("example.txt", "w") # Άνοιγμα αρχείου για εγγραφή
file.write("Hello, World!")
file.close()Κλείσιμο Αρχείου (Close)
Πρέπει πάντα να κλείνεις το αρχείο αφού τελειώσεις μαζί του, για να απελευθερωθούν οι πόροι.
file = open("example.txt", "r")
# Διαχείριση του αρχείου
file.close()Λίστες
Δημιουργία λίστας
num_list = [1, 2, 3, 4, 5]Στοιχεία της λίστας
num_list = [1, 2, 3, 4, 5]
print(num_list[0]) # 1ο στοιχείοΑναφερόμαστε σε κάποιο συγκεκριμένο στοιχείο μιας λίστας γράφοντας το όνομα της λίστας ακολουθούμενο από το δείκτη του στοιχείου που μας ενδιαφέρει μέσα σε τετραγωνικές παρενθέσεις:
Εκτύπωση ολων των στοιχείων της λίστας
num_list = [1, 2, 3, 4, 5]
print(num_list) # Αποτέλεσμα [1, 2, 3, 4, 5]Εκτύπωση ένα ένα στοιχείο της λίστας
num_list = [1, 2, 3, 4, 5]
for i in num_list:
print(i)Χρησιμοποιούμε την μέθοδο count() για να βρούμε το πλήθος των εμφανίσεων μιας συγκεκριμένης τιμής μέσα στην λίστα.
num_list = [1, 1, 1, 4, 5]
print(num_list.count(1))Χρησιμοποιούμε την μέθοδο index() για να βρούμε την θέση μιας συγκεκριμένης τιμής μέσα στην λίστα.
num_list = [1, 3, 2, 4, 5]
print(num_list.index(3))Συμβολοσειρές
Η μέθοδος capitalize() κάνει το πρώτο γράμμα του string
text = "grCode club"
print(text.capitalize()) # Εκτύπωση: GrCode clubΗ μέθοδο title() κάνει capitalize κάθε πρώτο γράμμα κάθε λέξης στο string.
text = "grCode club"
print(text.title()) # Εκτύπωση: GrCode ClubΗ μέθοδος upper() επιστρέφει τη συμβολοσειρά με κεφαλαία γράμματα.
text = "GrCode Club"
print(text.upper()) #Εκτύπωση 'GRCODE CLUB'Η μέθοδος lower() επιστρέφει τη συμβολοσειρά με πεζά γράμματα.
text = "GrCode Club"
print(text.lower()) #Εκτύπωση 'grcode club' Η μέθοδος strip() αφαιρεί οποιοδήποτε κενό διάστημα από την αρχή ή το τέλος.
text= "GrCode Club"
print(text.strip()) #Εκτύπωση 'GrCode Club'Συναρτήσεις
Ο ορισμός μιας συνάρτησης (function definition) προσδιορίζει το όνομα της συνάρτησης και περιγράφει τις εντολές που θα εκτελεστούν με τη σειρά τους όταν η συνάρτηση κληθεί. Αυτός ο ορισμός είναι ουσιαστικά ο τρόπος με τον οποίο δηλώνουμε και καθορίζουμε τη συμπεριφορά μιας νέας λειτουργίας στον κώδικα.
# Ορισμός της συνάρτησης
def print_message():
print("GrCode Club")
# Κλήση της συνάρτησης
print_message()Η λέξη-κλειδί def χρησιμοποιείται για να δηλώσει ότι πρόκειται για τον ορισμό μιας συνάρτησης. Το όνομα της συνάρτησης, όπως το print_message, ακολουθεί τους ίδιους κανόνες που ισχύουν για τα ονόματα των μεταβλητών. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε γράμματα, αριθμούς και ορισμένα σύμβολα στίξης, αλλά το όνομα δεν μπορεί να ξεκινά με αριθμό. Επίσης, δεν μπορείτε να χρησιμοποιήσετε λέξεις-κλειδιά της Python ως ονόματα συναρτήσεων και καλό είναι να αποφεύγετε να δίνετε το ίδιο όνομα σε μια συνάρτηση και μια μεταβλητή.
Συνάρτηση χωρίς παραμέτρους
# Ορισμός της συνάρτησης
def print_message():
print("GrCode Club")
# Κλήση της συνάρτησης
print_message()Συνάρτηση με παραμέτρους
def print_message(name):
print(f"Καλημέρα, {name}!")
# Κλήση συνάρτησης
print_message("Γιάννης")Συνάρτηση με επιστροφή τιμής
def add_numbers(a, b):
return a + b
# Κλήση συνάρτησης
sum_result = add_numbers(5, 7)
print("Το άθροισμα είναι:", sum_result)Συνάρτηση με προεπιλεγμένες τιμές
def greet(name="φίλε"):
print(f"Καλημέρα, {name}!")
# Χρήση προεπιλεγμένης τιμής
greet()
# Παράκαμψη προεπιλεγμένης τιμής
greet("Μαρία")