Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

2.7 Αντικείμενα και Δυναμική Τυποποίηση στην Python

Στην Python, τιμές όπως το 7 (ένας ακέραιος αριθμός), το 4.1 (ένας αριθμός κινητής υποδιαστολής) και η λέξη ‘dog’ (μια συμβολοσειρά) θεωρούνται όλα αντικείμενα. Κάθε αντικείμενο στην Python έχει έναν τύπο και μια τιμή.

  • Ο τύπος του αντικειμένου περιγράφει την κατηγορία των δεδομένων που αντιπροσωπεύει (π.χ., ακέραιος, αριθμός κινητής υποδιαστολής, συμβολοσειρά).
  • Η τιμή του αντικειμένου είναι τα πραγματικά δεδομένα που αποθηκεύονται στο αντικείμενο.

Για παράδειγμα, όταν εκτελείτε τις παρακάτω εντολές σε ένα διερμηνέα Python (όπως το IPython), μπορείτε να δείτε τον τύπο του κάθε αντικειμένου:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type(7) # Επιστρέφει: <class 'int'>
type(4.1) # Επιστρέφει: <class 'float'>
type('dog') # Επιστρέφει: <class 'str'>
type(7) # Επιστρέφει: <class 'int'> type(4.1) # Επιστρέφει: <class 'float'> type('dog') # Επιστρέφει: <class 'str'>
type(7)   # Επιστρέφει: <class 'int'>
type(4.1) # Επιστρέφει: <class 'float'>
type('dog') # Επιστρέφει: <class 'str'>

Εδώ, η τιμή 7 είναι τύπου int (ακέραιος), η τιμή 4.1 είναι τύπου float (αριθμός κινητής υποδιαστολής) και η τιμή 'dog' είναι τύπου str (συμβολοσειρά).

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

Οι Μεταβλητές Αναφέρονται σε Αντικείμενα

Στην Python, όταν αναθέτετε ένα αντικείμενο σε μια μεταβλητή, αυτό συνδέει (δένει) το όνομα της μεταβλητής με το αντικείμενο. Αυτό σημαίνει ότι η μεταβλητή γίνεται μια αναφορά στο αντικείμενο και μπορείτε να χρησιμοποιήσετε τη μεταβλητή στον κώδικά σας για να αποκτήσετε πρόσβαση στην τιμή του αντικειμένου.

Για παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Δημιουργία ενός αντικειμένου ακέραιου αριθμού και ανάθεσή του σε μια μεταβλητή
number = 7
# Χρήση της μεταβλητής για πρόσβαση στην τιμή του αντικειμένου
print(number) # Εκτυπώνει: 7
# Δημιουργία ενός αντικειμένου ακέραιου αριθμού και ανάθεσή του σε μια μεταβλητή number = 7 # Χρήση της μεταβλητής για πρόσβαση στην τιμή του αντικειμένου print(number) # Εκτυπώνει: 7
# Δημιουργία ενός αντικειμένου ακέραιου αριθμού και ανάθεσή του σε μια μεταβλητή
number = 7

# Χρήση της μεταβλητής για πρόσβαση στην τιμή του αντικειμένου
print(number)  # Εκτυπώνει: 7

Σε αυτό το παράδειγμα, η τιμή 7 (ένα αντικείμενο τύπου int) ανατίθεται στη μεταβλητή number. Η μεταβλητή number αναφέρεται τώρα στο αντικείμενο 7. Όταν χρησιμοποιούμε την εντολή print(number), εκτυπώνεται η τιμή του αντικειμένου στο οποίο αναφέρεται η μεταβλητή, δηλαδή το 7.

Αυτός ο τρόπος αντιστοίχισης των μεταβλητών με τα αντικείμενα είναι ένας βασικός πυλώνας της δυναμικής τυποποίησης της Python, καθώς επιτρέπει την ευέλικτη και δυναμική διαχείριση των δεδομένων στον κώδικα.

Ένα παράδειγμα όπου ανατίθενται αντικείμενα σε μεταβλητές και στη συνέχεια γίνονται πράξεις με αυτές τις μεταβλητές:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Δημιουργία δύο αντικειμένων ακεραίων αριθμών και ανάθεση σε μεταβλητές
number1 = 10
number2 = 5
# Πρόσθεση των δύο αριθμών
sum = number1 + number2
# Εκτύπωση του αποτελέσματος
print("The sum is:", sum) # Εκτυπώνει: The sum is: 15
# Πολλαπλασιασμός των δύο αριθμών
product = number1 * number2
# Εκτύπωση του αποτελέσματος
print("The product is:", product) # Εκτυπώνει: The product is: 50
# Δημιουργία δύο αντικειμένων ακεραίων αριθμών και ανάθεση σε μεταβλητές number1 = 10 number2 = 5 # Πρόσθεση των δύο αριθμών sum = number1 + number2 # Εκτύπωση του αποτελέσματος print("The sum is:", sum) # Εκτυπώνει: The sum is: 15 # Πολλαπλασιασμός των δύο αριθμών product = number1 * number2 # Εκτύπωση του αποτελέσματος print("The product is:", product) # Εκτυπώνει: The product is: 50
# Δημιουργία δύο αντικειμένων ακεραίων αριθμών και ανάθεση σε μεταβλητές
number1 = 10
number2 = 5

# Πρόσθεση των δύο αριθμών
sum = number1 + number2

# Εκτύπωση του αποτελέσματος
print("The sum is:", sum)  # Εκτυπώνει: The sum is: 15

# Πολλαπλασιασμός των δύο αριθμών
product = number1 * number2

# Εκτύπωση του αποτελέσματος
print("The product is:", product)  # Εκτυπώνει: The product is: 50

Σε αυτό το παράδειγμα, δημιουργούμε δύο ακέραιες τιμές 10 και 5 και τις ανατίθεται στις μεταβλητές number1 και number2 αντίστοιχα. Στη συνέχεια, εκτελούμε αριθμητικές πράξεις (πρόσθεση και πολλαπλασιασμός) με αυτές τις μεταβλητές και εκτυπώνουμε τα αποτελέσμα

Δυναμική Τυποποίηση
Η Python χρησιμοποιεί δυναμική τυποποίηση, δηλαδή καθορίζει τον τύπο του αντικειμένου σε μια μεταβλητή κατά την εκτέλεση του κώδικά σας. Μπορούμε να το δείξουμε αυτό επαναδεσμεύοντας τη μεταβλητή x σε διάφορα αντικείμενα και ελέγχοντας τους τύπους τους:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = 7 # Η μεταβλητή x αναφέρεται τώρα σε έναν ακέραιο
print(type(x)) # Εκτυπώνει <class 'int'>
x = "Hello" # Η μεταβλητή x αναφέρεται τώρα σε μια συμβολοσειρά
print(type(x)) # Εκτυπώνει <class 'str'>
x = [1, 2, 3] # Η μεταβλητή x αναφέρεται τώρα σε μια λίστα
print(type(x)) # Εκτυπώνει <class 'list'>
x = 7 # Η μεταβλητή x αναφέρεται τώρα σε έναν ακέραιο print(type(x)) # Εκτυπώνει <class 'int'> x = "Hello" # Η μεταβλητή x αναφέρεται τώρα σε μια συμβολοσειρά print(type(x)) # Εκτυπώνει <class 'str'> x = [1, 2, 3] # Η μεταβλητή x αναφέρεται τώρα σε μια λίστα print(type(x)) # Εκτυπώνει <class 'list'>
x = 7  # Η μεταβλητή x αναφέρεται τώρα σε έναν ακέραιο
print(type(x))  # Εκτυπώνει <class 'int'>

x = "Hello"  # Η μεταβλητή x αναφέρεται τώρα σε μια συμβολοσειρά
print(type(x))  # Εκτυπώνει <class 'str'>

x = [1, 2, 3]  # Η μεταβλητή x αναφέρεται τώρα σε μια λίστα
print(type(x))  # Εκτυπώνει <class 'list'>

Αυτό δείχνει ότι η Python αναγνωρίζει αυτόματα τον τύπο της μεταβλητής x ανάλογα με το αντικείμενο στο οποίο αναφέρεται κατά την εκτέλεση του κώδικα.

Η συλλογή σκουπιδιών (garbage collection)

Η συλλογή σκουπιδιών (garbage collection) είναι διαδικασία που χρησιμοποιείται στην προγραμματισμό και τη διαχείριση μνήμης για να απελευθερώνει αυτόματα τη μνήμη που καταλαμβάνεται από αντικείμενα ή δομές δεδομένων που δεν χρησιμοποιούνται πλέον ή δεν είναι προσβάσιμα από το πρόγραμμα. Σε γλώσσες προγραμματισμού με συλλογή σκουπιδιών, όπως η Python, η Java και η C#, το περιβάλλον εκτέλεσης αναγνωρίζει περιοδικά και απελευθερώνει τη μνήμη που δεν απαιτείται πλέον, επιτρέποντάς τη χρήση της για άλλους σκοπούς.

Το πως λειτουργεί συνήθως η συλλογή σκουπιδιών:

  1. Μέτρηση Αναφορών: Ένα κοινό προσέγγιση είναι η μέτρηση αναφορών, όπου κάθε αντικείμενο κρατάει τον αριθμό των αναφορών που αναφέρονται σε αυτό. Όταν ο αριθμός των αναφορών πέσει στο μηδέν, πράγμα που σημαίνει ότι δεν υπάρχουν άλλες αναφορές στο αντικείμενο, αυτό γίνεται επιλέξιμο για συλλογή σκουπιδιών.
  2. Σήμανση και Καθάρισμα: Σε μια άλλη κοινή τεχνική που ονομάζεται “σήμανση και καθάρισμα,” ο συλλέκτης σκουπιδιών περιηγείται στη μνήμη του προγράμματος, ξεκινώντας από γνωστά αντικείμενα ρίζας (π.χ. γλοβάλ μεταβλητές ή αντικείμενα στο σωρό) και επισημαίνει όλα τα αντικείμενα που είναι ακόμα προσβάσιμα. Στη συνέχεια, καθαρίζει τη μνήμη, απελευθερώνοντας την από αντικείμενα που δεν έχουν επισημανθεί (δηλαδή που δεν είναι προσβάσιμα).
  3. Συλλογή Σκουπιδιών με Γενεές: Σε ορισμένους συλλέκτες σκουπιδιών, τα αντικείμενα χωρίζονται σε διάφορες γενεές ανάλογα με την ηλικία τους. Τα νέα αντικείμενα δεσμεύονται σε μια νεαρή γενιά, ενώ τα παλαιότερα αντικείμενα που επιβιώνουν πολλές φορές στις συλλογές προωθούνται σε παλαιότερες γενεές. Αυτό επιτρέπει αποδοτικότερη συλλογή, διότι τα περισσότερα αντικείμενα “πεθαίνουν” σε νεαρές γενεές.

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

Εισαγωγή στην Επιστήμη των Δεδομένων: Βασική Περιγραφική Στατιστική

Στον χώρο της επιστήμης των δεδομένων, η στατιστική χρησιμοποιείται συχνά για να περιγράψει και να συνοψίσει τα δεδομένα. Στο πλαίσιο αυτό, εισάγουμε αρκετές περιγραφικές στατιστικές, συμπεριλαμβανομένων των εξής:

  • Ελάχιστο: Είναι η μικρότερη τιμή σε μια συλλογή δεδομένων.
  • Μέγιστο: Είναι η μεγαλύτερη τιμή σε μια συλλογή δεδομένων.
  • Εύρος: Είναι η διαφορά ανάμεσα στην μικρότερη και μεγαλύτερη τιμή σε μια συλλογή δεδομένων.
  • Πλήθος: Είναι ο αριθμός των τιμών που περιέχει μια συλλογή δεδομένων.
  • Άθροισμα: Είναι το συνολικό άθροισμα των τιμών σε μια συλλογή δεδομένων.

Στο επόμενο κεφάλαιο, θα εξετάσουμε τον τρόπο υπολογισμού του πλήθους και του συνόλου των τιμών. Οι μετρήσεις διάσπασης (που αποκαλούνται επίσης μετρήσεις διακύμανσης) όπως το εύρος, βοηθούν στον προσδιορισμό του βαθμού διασποράς των τιμών. Άλλες μετρήσεις διάσπασης που θα παρουσιάσουμε σε μετέπειτα κεφάλαια περιλαμβάνουν τη διακύμανση και την τυπική απόκλιση.

Υπολογισμός του Ελάχιστου από Τρεις Τιμές

Αρχικά, ας εξετάσουμε πώς μπορούμε να προσδιορίσουμε το ελάχιστο από τρεις τιμές χειροκίνητα. Το παρακάτω σενάριο ζητά τρεις τιμές από τον χρήστη, χρησιμοποιεί δηλώσεις if για να προσδιορίσει την ελάχιστη τιμή και στη συνέχεια την εμφανίζει.

Βεβαιωθείτε ότι εκτελείτε τον κώδικα Python σε ένα περιβάλλον προγραμματισμού ή σε μια διαδικτυακή πλατφόρμα Python. Αφού εκτελέσετε τον κώδικα που παρέχω παρακάτω, μπορείτε να εισάγετε τρεις τιμές και θα εμφανιστεί το ελάχιστο από αυτές. Εδώ είναι μερικά παραδείγματα εκτέλεσης:

Παράδειγμα 1:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Enter the first value: 10
Enter the second value: 5
Enter the third value: 8
The minimum of the three values is: 5.0
Enter the first value: 10 Enter the second value: 5 Enter the third value: 8 The minimum of the three values is: 5.0
Enter the first value: 10
Enter the second value: 5
Enter the third value: 8
The minimum of the three values is: 5.0

Παράδειγμα 2:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Enter the first value: 3.14
Enter the second value: 2.71
Enter the third value: 2.99
The minimum of the three values is: 2.71
Enter the first value: 3.14 Enter the second value: 2.71 Enter the third value: 2.99 The minimum of the three values is: 2.71
Enter the first value: 3.14
Enter the second value: 2.71
Enter the third value: 2.99
The minimum of the three values is: 2.71

Παράδειγμα 3:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Enter the first value: -5
Enter the second value: -3
Enter the third value: -7
The minimum of the three values is: -7.0
Enter the first value: -5 Enter the second value: -3 Enter the third value: -7 The minimum of the three values is: -7.0
Enter the first value: -5
Enter the second value: -3
Enter the third value: -7
The minimum of the three values is: -7.0

Είσαστε ελεύθεροι να εισάγετε οποιεσδήποτε τιμές επιθυμείτε και το πρόγραμμα θα επιστρέψει το ελάχιστο από αυτές.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Ζητά τρεις τιμές από τον χρήστη
value1 = float(input("Enter the first value: "))
value2 = float(input("Enter the second value: "))
value3 = float(input("Enter the third value: "))
# Προσδιορίζει το ελάχιστο
minimum = value1
if value2 < minimum:
minimum = value2
if value3 < minimum:
minimum = value3
# Εμφανίζει το ελάχιστο
print("The minimum of the three values is:", minimum)
# Ζητά τρεις τιμές από τον χρήστη value1 = float(input("Enter the first value: ")) value2 = float(input("Enter the second value: ")) value3 = float(input("Enter the third value: ")) # Προσδιορίζει το ελάχιστο minimum = value1 if value2 < minimum: minimum = value2 if value3 < minimum: minimum = value3 # Εμφανίζει το ελάχιστο print("The minimum of the three values is:", minimum)
# Ζητά τρεις τιμές από τον χρήστη
value1 = float(input("Enter the first value: "))
value2 = float(input("Enter the second value: "))
value3 = float(input("Enter the third value: "))

# Προσδιορίζει το ελάχιστο
minimum = value1

if value2 < minimum:
    minimum = value2

if value3 < minimum:
    minimum = value3

# Εμφανίζει το ελάχιστο
print("The minimum of the three values is:", minimum)

Αυτό το σενάριο ζητά τρεις τιμές από τον χρήστη, στη συνέχεια χρησιμοποιεί δηλώσεις if για να συγκρίνει τις τιμές και να προσδιορίσει το ελάχιστο από αυτές. Τέλος, εμφανίζει το ελάχιστο.

Υπολογισμός Ελάχιστου και Μέγιστου με τις Ενσωματωμένες Συναρτήσεις min και max

Στην Python, υπάρχουν ενσωματωμένες συναρτήσεις min και max που χρησιμοποιούνται για τον υπολογισμό του ελάχιστου και του μέγιστου αντίστοιχα από ένα σύνολο τιμών.

Εδώ είναι πώς μπορείτε να χρησιμοποιήσετε αυτές τις συναρτήσεις:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Create a list of values
values = [10, 5, 8, 15, 20]
# Calculate the minimum using the min function
minimum = min(values)
# Calculate the maximum using the max function
maximum = max(values)
# Print the results
print("The minimum is:", minimum)
print("The maximum is:", maximum)
# Create a list of values values = [10, 5, 8, 15, 20] # Calculate the minimum using the min function minimum = min(values) # Calculate the maximum using the max function maximum = max(values) # Print the results print("The minimum is:", minimum) print("The maximum is:", maximum)
# Create a list of values
values = [10, 5, 8, 15, 20]

# Calculate the minimum using the min function
minimum = min(values)

# Calculate the maximum using the max function
maximum = max(values)

# Print the results
print("The minimum is:", minimum)
print("The maximum is:", maximum)

Στο παραπάνω παράδειγμα, δημιουργούμε μια λίστα values που περιέχει ορισμένες τιμές. Στη συνέχεια, χρησιμοποιούμε τις συναρτήσεις min και max για να υπολογίσουμε το ελάχιστο και το μέγιστο των τιμών αντίστοιχα και τα εκτυπώνουμε.

Τα αποτελέσματα θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
The minimum is: 5
The maximum is: 20
The minimum is: 5 The maximum is: 20
The minimum is: 5
The maximum is: 20

Υπολογισμός της Εύρους ενός Συνόλου Τιμών

Η εύρος των τιμών είναι απλά το ελάχιστο μέχρι το μέγιστο εύρος τιμών. Για παράδειγμα, αν έχουμε μια συλλογή τιμών που κυμαίνονται από 12 έως 36, το εύρος είναι από 12 έως 36. Πολλές εφαρμογές στην επιστήμη των δεδομένων απαιτούν την κατανόηση των χαρακτηριστικών των δεδομένων σας. Η περιγραφική στατιστική είναι ένα σημαντικό κομμάτι αυτής της διαδικασίας και σας βοηθά να κατανοήσετε το πώς είναι διανεμημένες οι τιμές σας. Για παράδειγμα, αν έχετε μια συλλογή 100 αριθμών που κυμαίνονται από το 12 έως το 36, αυτοί οι αριθμοί μπορεί να είναι κατανεμημένοι ομοιόμορφα σε αυτό το εύρος. Αντίθετα, μπορείτε να έχετε κατανεμημένες τιμές με πυκνές συγκεντρώσεις, όπως για παράδειγμα 99 τιμές του 12 και μία τιμή του 36 ή αντίστροφα, μία τιμή του 12 και 99 τιμές του 36.

10 Ιανουαρίου, 2024
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων