Anwendung von Python 3 vars

Dies ist eine erweiterte Codesammlung der integrierten Funktion vars von Python 3.x.

Kopieren mit Wörterbucheinschluss

Da der Rückgabewert von "vars" ein Wörterbuch ist, kann er mit "items ()" und der Wörterbucheinschlussnotation kopiert werden. Das Element von "items ()" (hier "item") ist ein Tupel von Schlüsseln und Werten.

import sys
from pprint import pp

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

Ausgabe


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

Hinweis: Der Rückgabewert der integrierten Funktion "vars" ist vom Wörterbuchtyp ("<class'dict"> "). Um die Elemente (Schlüssel- und Wertetabellen) aufzulisten, müssen Sie vars (sys) .items () ausführen. Wenn Sie "für Element in vars (sys)" festlegen, wird es als "vars (sys) .keys ()" behandelt und ein Wörterbuch mit dem ersten Zeichen des Schlüssels als Schlüssel und dem zweiten Zeichen als Wert erstellt.

Erstellen Sie ein Schlüssel- und Wertetypwörterbuch

import sys
from pprint import pp

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

Ausgabe


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

Werttypen auflisten

import sys
from pprint import pp

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

Ausgabe


{'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'}

Zählen Sie die Anzahl der Vorkommen von Werttypen


import sys
from collections import Counter
from pprint import pp

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

Ausgabe


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})

Holen Sie sich nur integrierte Funktionen / Methoden

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)

Ausgabe


{'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>,
 ...

Holen Sie sich andere als integrierte Funktionen / Methoden

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)

Ausgabe


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

Auf eine geeignete Länge zuschneiden

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

Anwendung von Python 3 vars
Python-Grundlagen ①
Kopie von Python
Einführung von Python
Python: Anwendung der Bilderkennung mit CNN
[Python] Operation der Aufzählung
Liste der Python-Module
[Einführung in die Udemy Python3 + -Anwendung] 26. Kopie des Wörterbuchs
Vereinheitlichung der Python-Umgebung
Kopie der Python-Einstellungen
Grundlagen der Python-Scraping-Grundlagen
[Einführung in die Udemy Python3 + -Anwendung] 19. Kopie der Liste
[Python] Verhalten von Argmax
Verwendung von Python-Einheimischen ()
der Zen von Python
Installieren von Python 3.3 rc1
# 4 [Python] Grundlagen der Funktionen
Grundkenntnisse in Python
Nüchterne Trivia von Python3
Zusammenfassung der Python-Argumente
Python-Anwendung: Pandas # 3: Dataframe
Verschiedene Verarbeitung von Python
[Einführung in Udemy Python3 + Application] 53. Wörterbuch der Schlüsselwortargumente
[Einführung in Udemy Python3 + Application] 52. Tapple von Positionsargumenten
[Python] Richtige Verwendung der Karte
Python-Anwendung: Pandas Teil 1: Basic
Python-Anwendung: Pandas Teil 2: Serie
Auf dem Weg zum Ruhestand von Python2
Zusammenfassung der Python-Dateivorgänge
Zusammenfassung der Python3-Listenoperationen
Python - Schneller Start der Protokollierung
Empfehlung der binpacking Bibliothek von Python
[Python] Wert des Funktionsobjekts (?)
Automatisches Update des Python-Moduls
Python --Überprüfen Sie den Wertetyp
[Python] Der Ursprung des Namens der Python-Funktion
Statische Analyse von Python-Programmen
Über verschiedene Codierungen von Python 3
Objektäquivalenzbeurteilung in Python
Einführung in Aktivitäten mit Python
Python> Umgang mit 2D-Arrays
Installieren Sie mehrere Versionen von Python
Upgrade von Python Anaconda
Umgang mit Python auf Mac
Python: Grundlagen der Verwendung von Scikit-Learn ①
Python-Anwendung: Datenvisualisierung # 2: matplotlib
Vergleich von 4 Arten von Python-Webframeworks
Anwendung der CNN2-Bilderkennung
Einfache FPS-Messung von Python
Überprüfen Sie die OpenSSL-Version von Python 2.6
Python-Implementierung des Partikelfilters
[Python] Kopie einer mehrdimensionalen Liste
Beschleunigen Sie das Laden von Python-Bildern
Beispiel für die Verwendung von Python Pickle
Webanwendung mit Python + Flask ② ③
Grundlegende Verwendung von Python-F-String
Implementierung der schnellen Sortierung in Python
[Python] Richtige Verwendung von Join
Quellinstallation und Installation von Python