Παρεμβολή Python String

Σε αυτό το άρθρο θα μάθουμε για την παρεμβολή συμβολοσειρών python. Η Python υποστηρίζει πολλούς τρόπους για τη μορφοποίηση συμβολοσειρών κειμένου και αυτές περιλαμβάνουν% -formatting, sys.format (), string. Template και f-string.

Η παρεμβολή συμβολοσειρών είναι μια διαδικασία που αντικαθιστά τις τιμές των μεταβλητών σε σύμβολα κράτησης θέσης σε μια συμβολοσειρά. Για παράδειγμα, εάν έχετε ένα πρότυπο για να πείτε γεια σε ένα άτομο όπως το "Γεια σας (Όνομα του ατόμου), χαίρομαι που σας γνωρίζει!", Θα θέλατε να αντικαταστήσετε το σύμβολο κράτησης θέσης για το όνομα του ατόμου με ένα πραγματικό όνομα. Αυτή η διαδικασία ονομάζεται συμβολοσειρά παρεμβολή.

χορδές

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

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

 name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')

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

Γειά σου Κόσμε! Αυτός είναι ο Πύθων

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

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

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

 a = 12 b = 3 print(f'12 multiply 3 is (a * b).')

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

 12 πολλαπλασιάστε 3 είναι 36.

Στο παραπάνω πρόγραμμα κάναμε inline αριθμητική που είναι δυνατή μόνο με αυτήν τη μέθοδο.

%-μορφοποίηση

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

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

 print("%s %s" %('Hello','World',))

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

 Γειά σου Κόσμε

Στο παραπάνω παράδειγμα χρησιμοποιήσαμε δύο %sπροσδιοριστές μορφής συμβολοσειράς και δύο χορδές Helloκαι Worldσε παρένθεση (). Έχουμε Hello Worldως έξοδο. %sπροσδιοριστής μορφής συμβολοσειράς πείτε στην Python πού να αντικαταστήσει την τιμή.

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

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

 name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))

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

Γειά σου Κόσμε! Αυτός είναι ο πύθωνας.

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

Είναι επίσης δυνατό να αναφερθείτε σε μεταβλητές αντικαταστάσεις με το όνομα στη συμβολοσειρά μορφής μας, εάν περάσουμε μια χαρτογράφηση στον %χειριστή:

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

 name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))

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

Γειά σου Κόσμε! Αυτός είναι ο πύθωνας.

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

Str.format ()

Σε αυτήν τη μορφοποίηση συμβολοσειράς χρησιμοποιούμε τη format()λειτουργία σε ένα αντικείμενο συμβολοσειράς και στηρίγματα (), το αντικείμενο συμβολοσειράς σε format()λειτουργία αντικαθίσταται στη θέση των τιράντες (). Μπορούμε να χρησιμοποιήσουμε τη format()λειτουργία για να κάνουμε απλή μορφοποίηση θέσης, όπως και τη %μορφοποίηση.

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

 name = 'world' print('Hello, ()'.format(name))

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

 Γειά σου Κόσμε

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

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

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

 name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))

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

 Γεια σου κόσμος! Αυτός είναι ο πύθωνας.

In this example we specified the variable substitutions place using the name of variable and pass the variable in format().

Template Strings

Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template class from Python’s built-in string module to use it.

Example 8:

 from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))

When we run the above program, the output will be

 Hello world! This is python.

In this example we import Template class from built-in string module and made a template which we used to pass two variable.

Key Points to Remember:

  1. %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
  2. In str.format() method we pass the string object to the format() function for string interpolation.
  3. Στη μέθοδο προτύπου δημιουργούμε ένα πρότυπο εισάγοντας κλάση προτύπου από την ενσωματωμένη ενότητα συμβολοσειρών.
  4. Η μέθοδος Literal String Interpolation είναι μια ισχυρή μέθοδος παρεμβολής που είναι εύχρηστη και αυξάνει την αναγνωσιμότητα του κώδικα.

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