Μάθετε πληκτρολόγηση σε Python σε πέντε λεπτά

Ένα μάθημα συντριβής για την τυποποίηση και τη μετατροπή τύπου στην Python με πολύ μη λεκτικό τρόπο

Πληκτρολόγηση

Η διαδικασία μετατροπής ενός τύπου δεδομένων σε έναν άλλο τύπο δεδομένων ονομάζεται Typecasting ή Type Coercion ή Type Conversion .

Τα θέματα στα οποία θα επικεντρωθώ σε αυτό το άρθρο είναι:

  1. Σιωπηρή μετατροπή τύπου
  2. Μετατροπή ρητού τύπου
  3. Πλεονεκτήματα
  4. Μειονεκτήματα

Σιωπηρή μετατροπή τύπου

Όταν η μετατροπή τύπου πραγματοποιείται αυτόματα από τον διερμηνέα χωρίς την παρέμβαση του προγραμματιστή, αυτός ο τύπος μετατροπής αναφέρεται ως σιωπηρή μετατροπή τύπου .

Παράδειγμα προγράμματος:

myInt = 143 # Integer value.myFloat = 1.43 # Float value.
myResult = myInt + myFloat # Sum result
print("datatype of myInt:",type(myInt))print("datatype of myFloat:",type(myFloat))
print("Value of myResult:",myResult)print("datatype of myResult:",type(myResult))

Παραγωγή:

Το αποτέλεσμα για το παραπάνω πρόγραμμα θα είναι:

datatype of myInt: datatype of myFloat: Value of myResult: 144.43datatype of myResult: 

Στο παραπάνω πρόγραμμα,

  • Προσθέτουμε δύο μεταβλητές myInt και myFloat, αποθηκεύοντας την τιμή στο myResult.
  • Θα εξετάσουμε τον τύπο δεδομένων και των τριών αντικειμένων αντίστοιχα.
  • Στην έξοδο, μπορούμε να δούμε τον τύπο δεδομένων του myInt είναι ένα integer, τον τύπο δεδομένων του myFloat είναι ένα float.
  • Επίσης, μπορούμε να δούμε το myFloat έχει floatτύπο δεδομένων επειδή η Python μετατρέπει μικρότερο τύπο δεδομένων σε μεγαλύτερο τύπο δεδομένων για να αποφύγει την απώλεια δεδομένων.

Αυτός ο τύπος μετατροπής ονομάζεται Implicit Type μετατροπή (ή) UpCasting .

Μετατροπή ρητού τύπου

Στη ρητή μετατροπή τύπου, οι χρήστες μετατρέπουν τον τύπο δεδομένων ενός αντικειμένου στον απαιτούμενο τύπο δεδομένων. Χρησιμοποιούμε προκαθορισμένες ενσωματωμένες συναρτήσεις όπως:

  1. int ()
  2. φλοτέρ()
  3. συγκρότημα()
  4. bool ()
  5. str ()

Η σύνταξη για τη ρητή μετατροπή τύπου είναι:

(required_datatype)(expression)

Αυτός ο τύπος μετατροπής ονομάζεται Explicit Type μετατροπή (ή) DownCasting .

Μετατροπή

Μπορούμε να χρησιμοποιήσουμε αυτήν τη συνάρτηση για να μετατρέψουμε τιμές από άλλους τύπους σε int.

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

>>> int(123.654)123
>>>int(False)0
>>> int("10")10
>>> int("10.5")ValueError: invalid literal for int() with base 10: '10.5'
>>> int("ten")ValueError: invalid literal for int() with base 10: 'ten'
>>> int("0B1111")ValueError: invalid literal for int() with base 10: '0B1111'
>>> int(10+3j)TypeError: can't convert complex to int

Σημείωση:

  1. Δεν μπορείτε να μετατρέψετε σύνθετο τύπο δεδομένων σε int
  2. Εάν θέλετε να μετατρέψετε τον τύπο συμβολοσειράς σε τύπο int, η κυριολεκτική συμβολοσειρά πρέπει να περιέχει την τιμή στο Base-10

Μετατροπή Float

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

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

>>> float(10) 10.0
>>> float(True)1.0
>>> float(False)0.0
>>> float("10")10.0
>>> float("10.5")10.5
>>> float("ten")ValueError: could not convert string to float: 'ten'
>>> float(10+5j)TypeError: can't convert complex to float
>>> float("0B1111")ValueError: could not convert string to float: '0B1111'

Σημείωση:

  1. Μπορείτε να μετατρέψετε σύνθετο τύπο σε τιμή τύπου float.
  2. Εάν θέλετε να μετατρέψετε τον τύπο συμβολοσειράς σε τύπο πλωτήρα, η κυριολεκτική συμβολοσειρά πρέπει να περιέχει την τιμή στη βάση-10.

Σύνθετη μετατροπή

Αυτή η λειτουργίαχρησιμοποιείται για τη μετατροπή πραγματικών αριθμών σε σύνθετο (πραγματικό, φανταστικό) αριθμό.

Μορφή 1: συγκρότημα (x)

Μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση για να μετατρέψετε μια μεμονωμένη τιμή σε έναν σύνθετο αριθμό με πραγματικό μέρος x και φανταστικό μέρος 0.

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

>>> complex(10)10+0j
>>> complex(10.5)10.5+0j
>>> complex(True)1+0j
>>> complex(False)0+0j
>>> complex("10")10+0j
>>> complex("10.5")10.5+0j
>>> complex("ten")ValueError: complex() arg is a malformed string

Μορφή 2: συγκρότημα (x, y)

Εάν θέλετε να μετατρέψετε τα X και Y σε πολύπλοκο αριθμό έτσι ώστε το X να είναι πραγματικό μέρος και το Y να είναι φανταστικό μέρος.

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

>>> complex(10,-2)10-2j
>>> complex(True, False)1+0j

Boolean μετατροπή

Αυτή η λειτουργία χρησιμοποιείται για την εύκολη μετατροπή οποιουδήποτε τύπου δεδομένων σε δυαδικό τύπο δεδομένων. Είναι ο πιο ευέλικτος τύπος δεδομένων στην Python.

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

>>> bool(0)False
>>> bool(1)True
>>> bool(10)True
>>> bool(0.13332)True
>>> bool(0.0)False
>>> bool(10+6j)True
>>> bool(0+15j)True
>>> bool(0+0j)False
>>> bool("Apple")True
>>> bool("")False
Σημείωση: Με τη βοήθεια της συνάρτησης bool, μπορείτε να μετατρέψετε οποιονδήποτε τύπο τύπου δεδομένων σε boolean και η έξοδος θα είναι - Για όλες τις τιμές θα παράγει True εκτός από 0, 0 + 0j και για μια άδεια συμβολοσειρά.

Μετατροπή συμβολοσειράς

Αυτή η λειτουργία χρησιμοποιείται για τη μετατροπή οποιουδήποτε τύπου σε τύπο συμβολοσειράς.

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

>>> str(10)'10'
>>> str(10.5)'10.5'
>>> str(True)'True'
>>> str(False)'False'
>>> str(10+5j)'10+5j'
>>> str(False)'False'

Παράδειγμα προγράμματος:

integer_number = 123 # Intstring_number = "456" # String
print("Data type of integer_number:",type(integer_number))print("Data type of num_str before Type Casting:",type(num_str))
string_number = int(string_number)print("Data type of string_number after Type Casting:",type(string_number))
number_sum = integer_number + string_number
print("Sum of integer_number and num_str:",number_sum)print("Data type of the sum:",type(number_sum))

Παραγωγή:

Όταν εκτελούμε το παραπάνω πρόγραμμα, η έξοδος θα είναι:

Data type of integer_number: Data type of num_str before Type Casting: Data type of string_number after Type Casting: Sum of integer_number and num_str: 579Data type of the sum: 

Στο παραπάνω πρόγραμμα,

  • Προσθέτουμε string_number και integer_number μεταβλητή.
  • Μετατρέψαμε το string_number από string (υψηλότερο) σε ακέραιο (χαμηλότερο) τύπο χρησιμοποιώντας τη int()λειτουργία για να κάνουμε προσθήκη.
  • Μετά τη μετατροπή του string_number σε ακέραια τιμή, η Python προσθέτει αυτές τις δύο μεταβλητές.
  • Έχουμε την τιμή number_sum και τον τύπο δεδομένων ως ακέραιο.

Πλεονεκτήματα της πληκτρολόγησης

  1. Πιο βολικό στη χρήση

Μειονεκτήματα της πληκτρολόγησης

  1. Πιο σύνθετο σύστημα τύπου
  2. Πηγή σφαλμάτων λόγω απροσδόκητων ηθοποιών

Καλύπτησα σχεδόν όλα όσα απαιτούνται για την εκτέλεση κάθε είδους λειτουργίας δακτυλογράφησης στο Python3.

Ελπίζω ότι αυτό σας βοήθησε να μάθετε για την Python Typecasting με γρήγορο και εύκολο τρόπο.

Αν σας άρεσε αυτό το άρθρο, κάντε κλικ στο χειροκρότημα και αφήστε μου τα πολύτιμα σχόλιά σας.