Η μέθοδος 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)τι μπορείτε να έχετε λείπουν κλειδιά.







