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