Python String format_map ()

Η μέθοδος format_map () είναι παρόμοια με το str.format (** mapping) εκτός από το ότι το str.format (** mapping) δημιουργεί ένα νέο λεξικό ενώ το str.format_map (mapping) δεν το κάνει.

Πριν μιλήσουμε format_map(). Ας δούμε πώς str.format(**mapping)λειτουργεί για τα λεξικά Python.

 point = ('x':4,'y':-5) print('(x) (y)'.format(**point))

Παραγωγή

 4 -5

Μάθετε περισσότερα σχετικά με το πώς να μορφοποιήσετε συμβολοσειρές στο Python;

Η format_map(mapping)είναι παρόμοια με str.format(**mapping)τη μέθοδο.

Η μόνη διαφορά είναι ότι str.format(**mapping)αντιγράφει την υπαγόρευση ενώ str.format_map(mapping)κάνει ένα νέο λεξικό κατά τη διάρκεια της κλήσης μεθόδου. Αυτό μπορεί να είναι χρήσιμο εάν εργάζεστε με μια dictυποκατηγορία.

Η σύνταξη του format_map()είναι

 str.format_map (χαρτογράφηση)

format_map Παράμετρος

format_map()παίρνει ένα μόνο επιχείρημα mapping(dictionary).

Επιστροφή τιμής από format_map ()

format_map() μορφοποιεί τη δεδομένη συμβολοσειρά και την επιστρέφει.

Παράδειγμα 1: Πώς λειτουργεί το format_map ();

 point = ('x':4,'y':-5) print('(x) (y)'.format_map(point)) point = ('x':4,'y':-5, 'z': 0) print('(x) (y) (z)'.format_map(point))

Παραγωγή

 4 -5 4 -5 0

Παράδειγμα 2: Πώς λειτουργεί το format_map () με την υποκατηγορία υπαγόρευσης;

 class Coordinate(dict): def __missing__(self, key): return key print('((x), (y))'.format_map(Coordinate(x='6'))) print('((x), (y))'.format_map(Coordinate(y='5'))) print('((x), (y))'.format_map(Coordinate(x='6', y='5')))

Παραγωγή

 (6, y) (x, 5) (6, 5)

format_map(mapping)είναι πιο ευέλικτο από ό, format(**mapping)τι μπορείτε να έχετε λείπουν κλειδιά.

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