Τύποι δεδομένων Python

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

Τύποι δεδομένων στο Python

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

Υπάρχουν διάφοροι τύποι δεδομένων στο Python. Μερικοί από τους σημαντικούς τύπους παρατίθενται παρακάτω.

Αριθμοί Python

Οι ακέραιοι, οι αριθμοί κινητής υποδιαστολής και οι σύνθετοι αριθμοί εμπίπτουν στην κατηγορία αριθμών Python. Ορίζονται ως int, floatκαι complexτάξεις στο Python.

Μπορούμε να χρησιμοποιήσουμε τη type()συνάρτηση για να γνωρίζουμε σε ποια κατηγορία ανήκει μια μεταβλητή ή μια τιμή. Ομοίως, η isinstance()συνάρτηση χρησιμοποιείται για να ελέγξει αν ένα αντικείμενο ανήκει σε μια συγκεκριμένη κλάση.

 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 

Παραγωγή

5 είναι τύπου 2.0 είναι τύπου (1 + 2j) είναι σύνθετος αριθμός; Αληθής

Οι ακέραιοι αριθμοί μπορούν να έχουν οποιοδήποτε μήκος, περιορίζονται μόνο από τη διαθέσιμη μνήμη.

Ένας αριθμός κινητής υποδιαστολής είναι ακριβής έως και 15 δεκαδικά ψηφία. Τα ακέραια και κυμαινόμενα σημεία διαχωρίζονται με δεκαδικά σημεία. 1 είναι ακέραιος αριθμός, 1.0 είναι αριθμός κινητής υποδιαστολής.

Οι σύνθετοι αριθμοί γράφονται με τη μορφή, x + yjόπου το x είναι το πραγματικό μέρος και το y είναι το φανταστικό μέρος. Να μερικά παραδείγματα.

 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 

Παρατηρήστε ότι η floatμεταβλητή b περικοπή.

Λίστα Python

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

Η δήλωση μιας λίστας είναι αρκετά απλή. Τα στοιχεία που διαχωρίζονται με κόμματα περικλείονται εντός παρενθέσεων ( ).

 a = (1, 2.2, 'python') 

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

 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 

Παραγωγή

 a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40) 

Οι λίστες είναι μεταβλητές, δηλαδή η αξία των στοιχείων μιας λίστας μπορεί να αλλάξει.

 a = (1, 2, 3) a(2) = 4 print(a) 

Παραγωγή

 (1, 2, 4) 

Python Tuple

Το Tuple είναι μια παραγγελθείσα ακολουθία αντικειμένων ίδια με μια λίστα. Η μόνη διαφορά είναι ότι οι πλειάδες είναι αμετάβλητες. Το Tuples μόλις δημιουργηθεί δεν μπορεί να τροποποιηθεί.

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

Ορίζεται εντός παρενθέσεων ()όπου τα στοιχεία διαχωρίζονται με κόμματα.

 t = (5,'program', 1+3j) 

Μπορούμε να χρησιμοποιήσουμε τον τελεστή τεμαχισμού ()για εξαγωγή στοιχείων, αλλά δεν μπορούμε να αλλάξουμε την αξία του.

 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 

Παραγωγή

 t (1) = πρόγραμμα t (0: 3) = (5, 'πρόγραμμα', (1 + 3j)) Ανίχνευση (τελευταία τελευταία κλήση): Αρχείο "test.py", γραμμή 11, σε t (0) = 10 TypeError: Το αντικείμενο «tuple» δεν υποστηρίζει την ανάθεση στοιχείων 

Χορδές Python

Η συμβολοσειρά είναι ακολουθία χαρακτήρων Unicode. Μπορούμε να χρησιμοποιήσουμε μόνο εισαγωγικά ή διπλά εισαγωγικά για να αντιπροσωπεύσουμε συμβολοσειρές. Οι συμβολοσειρές πολλαπλών γραμμών μπορούν να συμβολίζονται με τριπλά εισαγωγικά '''ή """.

 s = "This is a string" print(s) s = '''A multiline string''' print(s) 

Παραγωγή

 Αυτή είναι μια συμβολοσειρά Μια σειρά πολλαπλών γραμμών 

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

 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 

Παραγωγή

 s (4) = os (6:11) = world Traceback (τελευταία πρόσφατη κλήση): Αρχείο "", γραμμή 11, στο TypeError: το αντικείμενο 'str' δεν υποστηρίζει εκχώρηση αντικειμένου 

Σετ Python

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

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 

Παραγωγή

 a = (1, 2, 3, 4, 5) 

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

 a = (1,2,2,3,3,3) print(a) 

Παραγωγή

 (1, 2, 3) 

Δεδομένου ότι, το σύνολο είναι μη ταξινομημένη συλλογή, η ευρετηρίαση δεν έχει νόημα. Ως εκ τούτου, ο τεμαχιστής ()δεν λειτουργεί.

 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing 

Λεξικό Python

Το λεξικό είναι μια μη ταξινομημένη συλλογή ζευγών κλειδιών-τιμών.

Χρησιμοποιείται γενικά όταν έχουμε τεράστιο όγκο δεδομένων. Τα λεξικά είναι βελτιστοποιημένα για την ανάκτηση δεδομένων. Πρέπει να γνωρίζουμε το κλειδί για να ανακτήσουμε την τιμή.

Στο Python, τα λεξικά ορίζονται εντός αγκύλων ()με κάθε στοιχείο να είναι ένα ζεύγος στη φόρμα key:value. Το κλειδί και η τιμή μπορεί να είναι οποιουδήποτε τύπου.

 >>> d = (1:'value','key':2) >>> type(d) 

Χρησιμοποιούμε το κλειδί για να ανακτήσουμε την αντίστοιχη τιμή. Αλλά όχι το αντίστροφο.

 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 

Παραγωγή

 d (1) = τιμή d ('key') = 2 Traceback (τελευταία τελευταία κλήση): Αρχείο "", γραμμή 9, στο KeyError: 2 

Μετατροπή μεταξύ τύπων δεδομένων

Μπορούμε να μετατροπή μεταξύ διαφορετικών τύπων δεδομένων, χρησιμοποιώντας διαφορετικές λειτουργίες μετατροπής τύπου όπως int(), float(), str(), κ.λπ.

 >>> float(5) 5.0 

Η μετατροπή από float σε int θα μειώσει την τιμή (θα την πλησιάσει στο μηδέν).

 >>> int(10.6) 10 >>> int(-10.6) -10 

Η μετατροπή προς και από συμβολοσειρά πρέπει να περιέχει συμβατές τιμές.

 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 

Μπορούμε ακόμη και να μετατρέψουμε μια ακολουθία σε άλλη.

 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 

Για να μετατρέψετε σε λεξικό, κάθε στοιχείο πρέπει να είναι ζεύγος:

 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 

ενδιαφέροντα άρθρα...