Bonjour à tous, c'est Eiringu.
Cet article est un mémorandum d'étude de Fluent Python. Il sera mis à jour de temps à autre.
Honnêtement, je ne lis pas sérieusement les manuels de langage de programmation, mais quand je lis un livre qui explique correctement le langage, j'ai de bonnes compétences en codage et des découvertes, contrairement à ce que j'acquiers dans la pratique ad hoc. .. Donc, je voudrais faire une note de ce qui m'intéressait avec Fluent Python.
** P.8 Note de bas de page **
En Python 2, vous devez écrire explicitement
FrenchDeck (object)
, mais en Python 3, c'est la valeur par défaut.
...quoi...!?
P.45
2.7 list.sort et fonction intégrée triés
La méthode list.sort trie la liste sur place et ne fait pas de copie. Vous pouvez dire du fait que "Aucun" est renvoyé que vous modifiez l'objet cible sans créer une nouvelle liste.
(Omis)
D'autre part, la fonction intégrée sorted
crée une nouvelle liste et la renvoie.
Hmm. J'avais l'habitude de trier la liste et de la sauvegarder moi-même, alors je l'ai utilisée comme référence.
2.9.1 Tableau
ʻArray.array est plus efficace que
list lorsque la liste ne contient que des nombres. ... (Omis) ... Les tableaux Python sont aussi efficaces que les tableaux C. ʻArray
est créé en spécifiant le code de type, car le type de l'élément stocké dans le tableau est pris en charge par le type de données C interne.
Les listes utilisent également à peu près le même type de données, il serait donc plus efficace de commencer à utiliser des tableaux. Je n'ai rien fait de tel que Procon, mais si vous ne connaissez pas ce domaine, cela ne fonctionnera pas.
P. 76
my_dict.setdefault(key, []).append(new_value)
Ceci est opérationnellement identique à:
if key not in my_dict:
my_dict[key] = []
my_dict[key].append(new_value)
La méthode d'utilisation de l'instruction ʻif` est facile à faire, alors soyez prudent.
Le supplément est
b '\ xff \ xfe
. Il s'agit de ** BOM ** * (marque d'ordre des octets) *, qui représentent l'ordre des octets «petit tolandien» du processeur Intel qui a effectué l'encodage. ~ Omis ~ La norme stipule que si le fichier est UTF-16 et qu'il n'y a pas de nomenclature, alors UTF-16BE (Big Endian) doit être utilisé. Cependant, l'architecture Intel x86 est peu tolandienne, et il existe de nombreux petits UTF-16 tolandiens sans nomenclature sur le marché. Les problèmes Endian affectent uniquement les encodages qui composent un mot avec plusieurs octets, tels que UTF-16 et UTF-32. L'un des grands avantages de l'UTF-8 est qu'il produit la même séquence d'octets quel que soit l'endian de la machine. Aucune nomenclature requise. Néanmoins, certaines applications Windows ajoutent des nomenclatures aux fichiers UTF-8 (en particulier le Bloc-notes). La détection des fichiers UTF-8 d'Excel repose sur la nomenclature, sans que la nomenclature ne suppose que le contenu est codé dans une page de codes Windows.
Ah, donc si vous chargez csv / tsv écrit en Python dans Excel, les caractères seront déformés. Il ne le reconnaît pas comme utf-8 par défaut.
Recommended Posts