Application de Python 3 vars

Une collection de code avancé pour la fonction intégrée de Python 3.x vars.

Copie avec inclusion de dictionnaire

Puisque la valeur de retour de vars est un dictionnaire, elle peut être copiée avec ʻitems ()et la notation d'inclusion de dictionnaire. L'élément de ʻitems ()(ici ʻitem`) est un tuple de clés et de valeurs.

import sys
from pprint import pp

dict1 = {item[0]: item[1] for item in vars(sys).items()}
pp(dict1)

production


{'__name__': 'sys',
 '__doc__': 'This module provides access to some objects ...,
 ...

Remarque: La valeur de retour de la fonction intégrée vars est de type dictionnaire (<class'dict '>). Pour énumérer les éléments (tuples clés et valeurs), vous devez faire vars (sys) .items (). Si vous définissez pour l'élément dans vars (sys), il sera traité comme vars (sys) .keys (), et un dictionnaire sera créé avec le premier caractère de la clé comme clé et le second caractère comme valeur.

Créer un dictionnaire de types de clés et de valeurs

import sys
from pprint import pp

dict1 = {item[0]: type(item[1]) for item in vars(sys).items()}
pp(dict1)

production


{'__name__': <class 'str'>,
 '__doc__': <class 'str'>,
 '__package__': <class 'str'>,
 '__loader__': <class 'type'>,
 ...

Énumérer les types de valeur

import sys
from pprint import pp

set1 = {type(value).__name__ for value in vars(sys).values()}
pp(set1)

production


{'ModuleSpec',
 'NoneType',
 'SimpleNamespace',
 'TextIOWrapper',
 'bool',
 'builtin_function_or_method',
 'dict',
 'flags',
 'float_info',
 'function',
 'hash_info',
 'int',
 'int_info',
 'list',
 'str',
 'thread_info',
 'tuple',
 'type',
 'version_info'}

--Le nom du type peut être obtenu avec type (...) .__ name__. --{e pour e dans v}est une notation d'inclusion d'ensemble.

Compter le nombre d'occurrences de types valeur


import sys
from collections import Counter
from pprint import pp

counter = Counter((type(value).__name__ for value in vars(sys).values()))
pp(counter)

production


Counter({'builtin_function_or_method': 42,
         'str': 16,
         'TextIOWrapper': 6,
         'int': 5,
         'list': 5,
         'dict': 3,
         'tuple': 2,
         'NoneType': 2,
         'type': 1,
         'ModuleSpec': 1,
         'float_info': 1,
         'int_info': 1,
         'hash_info': 1,
         'version_info': 1,
         'SimpleNamespace': 1,
         'flags': 1,
         'thread_info': 1,
         'bool': 1,
         'function': 1})

Obtenez uniquement les fonctions / méthodes intégrées

import sys
import types
from pprint import pp

dict1 = {item[0]: item[1] for item in vars(sys).items()
         if isinstance(item[1], types.BuiltinFunctionType)}
pp(dict1)

production


{'addaudithook': <built-in function addaudithook>,
 'audit': <built-in function audit>,
 'breakpointhook': <built-in function breakpointhook>,      
 'callstats': <built-in function callstats>,
 '_clear_type_cache': <built-in function _clear_type_cache>,
 ...

Obtenir des fonctions / méthodes autres que intégrées

import sys
import types
from pprint import pp

dict1 = {item[0]: item[1] for item in vars(sys).items()
         if not isinstance(item[1], types.BuiltinFunctionType)}
pp(dict1)

production


{'__name__': 'sys',
 '__doc__': 'This module provides ...',
 '__package__': '',
 '__loader__': <class '_frozen_importlib.BuiltinImporter'>,
 '__spec__': ModuleSpec(name='sys', loader=<class '_frozen_importlib.BuiltinImporter'>),
 ...

Couper à une longueur appropriée

import sys
import types
from pprint import pp
from typing import Optional


def str_truncate_singleline(s, width: int, linesep: Optional[str]):
    s = str(s)
    if not isinstance(width, int):
        raise TypeError()
    addsEllipsis: bool = False
    if linesep is not None:
        i: int = s.find(linesep)
        if i != -1:
            s = s[0:i]
            addsEllipsis = True
    if len(s) + len("...") > width:
        return s[0:width-len("...")] + "..."
    return s + "..." if addsEllipsis else s


dict1 = {item[0]: str_truncate_singleline(item[1], 50, "\n")
         for item in vars(sys).items()
         if not isinstance(item[1], types.BuiltinFunctionType)}
pp(dict1)

Recommended Posts

Application de Python 3 vars
Les bases de Python ①
Copie de python
Introduction de Python
Python: Application de la reconnaissance d'image à l'aide de CNN
[Python] Opération d'énumération
Liste des modules python
[Introduction à Udemy Python3 + Application] 26. Copie du dictionnaire
Unification de l'environnement Python
Copie des préférences python
Principes de base du grattage Python
[Introduction à Udemy Python3 + Application] 19. Copie de la liste
[python] comportement d'argmax
Utilisation des locaux Python ()
le zen de Python
Installation de Python 3.3 rc1
# 4 [python] Bases des fonctions
Connaissance de base de Python
Anecdotes sobres de python3
Résumé des arguments Python
Application Python: Pandas # 3: Dataframe
Divers traitements de Python
[Introduction à Udemy Python3 + Application] 53. Dictionnaire des arguments de mots-clés
[Introduction à Udemy Python3 + Application] 52. Tapple d'arguments positionnels
[Python] Utilisation correcte de la carte
Application Python: Pandas Partie 1: Basique
Application Python: Pandas Partie 2: Série
Vers la retraite de Python2
résumé lié à l'opération de fichier python
Résumé des opérations de liste Python3
Python - Démarrage rapide de la journalisation
Recommandation de la bibliothèque binpacking de python
[python] Valeur de l'objet fonction (?)
Mise à jour automatique du module Python
Python - Vérifiez le type de valeurs
[Python] L'origine du nom de la fonction python
Analyse statique des programmes Python
À propos de divers encodages de Python 3
Jugement d'équivalence d'objet en Python
Introduction d'activités appliquant Python
python> Gestion des tableaux 2D
Installer plusieurs versions de Python
Mise à niveau de python Anaconda
Manipulation de python sur mac
python: principes de base de l'utilisation de scikit-learn ①
Application Python: visualisation de données, partie 2: matplotlib
Comparaison de 4 types de frameworks Web Python
Application de la reconnaissance d'image CNN2
Mesure FPS simple de python
Vérifiez la version OpenSSL de python 2.6
Implémentation Python du filtre à particules
[Python] Copie d'une liste multidimensionnelle
Accélérer le chargement des images Python
Exemple d'utilisation de pickle Python
Application Web avec Python + Flask ② ③
Utilisation basique de la f-string Python
Implémentation du tri rapide en Python
[Python] Utilisation correcte de la jointure
Installation source et installation de Python