Fonction de base Python 03 (G ~ I)

L'interpréteur Python possède de nombreuses fonctions et types intégrés qui sont toujours disponibles. Ils sont listés ici par ordre alphabétique.

Fonctions intégrées Fonctions intégrées
getattr () globaux ()
hasattr () hacher()
Aidez-moi() hex ()
id () contribution()
int () isinstance ()
issubclass () processus ()
import ()

getattr (objet, nom [, par défaut])

Renvoie la valeur de l'attribut nommé d'objet. Le nom doit être une chaîne. Si la chaîne est le nom d'une des propriétés de l'objet, le résultat est la valeur de cette propriété. Par exemple, équivalent à. Si l'attribut nommé n'existe pas, retournez default (si fourni), sinon déclenché. getattr (x, 'foobar') x.foobarAttributeError

globaux ()

Renvoie un dictionnaire représentant la table de symboles globale actuelle. C'est toujours le dictionnaire du module courant (dans une fonction ou une méthode, c'est le module qui définit le module, pas le module à partir duquel il est appelé).

hasattr (objet, nom)

Le paramètre est un objet et une chaîne. Le résultat est True, que la chaîne soit le nom de l'une des propriétés de l'objet, False sinon. (Ceci est réalisé en appelant et en voyant s'il augmente.) Getattr (objet, nom) AttributeError

hachage (objet)

Renvoie la valeur de hachage de l'objet (le cas échéant). La valeur de hachage est un entier. Ils sont utilisés pour comparer rapidement les mots clés du dictionnaire lors de la recherche du dictionnaire. La comparaison de nombres égaux a la même valeur de hachage (même s'ils sont de types différents, tels que 1 et 1.0).

Remarque Pour les objets avec une méthode __hash __ () personnalisée, veuillez noter qu'elle hachera () tronquera la valeur de retour en fonction de la largeur de bit de l'hôte. Pour plus d'informations sur __hash __ (), voir.

aide ([objet])

Appelez le système d'aide intégré. (Cette fonction est destinée à une utilisation interactive.) Si aucun paramètre n'est fourni, le système d'aide interactif démarre sur la console d'interprétation. Si le paramètre est une chaîne, utilisez la chaîne comme nom du module, de la fonction, de la classe, de la méthode, du mot-clé ou du sujet du document et imprimez la page d'aide sur la console. Si le paramètre est un autre type d'objet, une page d'aide sera générée sur cet objet.

Veuillez noter que si une barre oblique (/) apparaît dans la liste des paramètres de la fonction, alors help () lors de l'appel, indiquant que le paramètre avant la barre oblique n'est qu'une information de position. Pour plus d'informations, veuillez vous référer à l'entrée FAQ sur le paramètre position uniquement.

Cette fonction est ajoutée à l'espace de noms intégré par le module de site.

Des modifications ont été apportées à la version 3.4: la modification de pydoc et d'inspection signifie que les signatures appelables signalées sont désormais plus complètes et cohérentes.

hex (x)

Convertissez un entier en une chaîne hexadécimale en minuscules préfixée avec "0x". Si x n'est pas un objet Python int, vous devez définir une méthode __index __ () qui renvoie un entier. Quelques exemples:

hex(255)
'0xff'
hex(-42)
'-0x2a'

Si vous souhaitez convertir un entier en une chaîne hexadécimale majuscule ou non préfixée ou non préfixée, vous pouvez utiliser l'une des deux méthodes suivantes:

'%#x' % 255, '%x' % 255, '%X' % 255
('0xff', 'ff', 'FF')
format(255, '#x'), format(255, 'x'), format(255, 'X')
('0xff', 'ff', 'FF')
f'{255:#x}', f'{255:x}', f'{255:X}'
('0xff', 'ff', 'FF')

Voir aussi format () pour plus d'informations.

Voir aussi int () convertit une chaîne hexadécimale en un entier utilisant la base 16.

Remarque Pour obtenir la représentation sous forme de chaîne hexadécimale d'un nombre à virgule flottante, utilisez laméthode float.hex () .

id (objet)

Renvoie "l'identité" de l'objet. Il s'agit d'un entier qui peut être garanti unique et constant pendant la durée de vie de cet objet. Deux objets dont les cycles de vie ne se chevauchent pas peuvent avoir la même valeur id () .

Détails de l'implémentation de CPython: il s'agit de l'adresse de l'objet en mémoire.

entrée ([invite])

S'il existe un paramètre d'invite, il sera écrit dans la sortie standard sans retour à la ligne. Ensuite, la fonction lit une ligne de l'entrée, la convertit en chaîne (séparant les retours à la ligne de fin) et la renvoie. Lors de la lecture d'EOF, EOFError sera augmentée. Exemple:


s = input('--> ')  
Monty Python's Flying Circus
s  
"Monty Python's Flying Circus"

Si le module readline est chargé, input () l'utilisera pour fournir des fonctions détaillées d'édition de ligne et d'historique.

Utilisez le paramètre pour déclencher l' événement d'audit builtins.inputprompt avant de lire l'entrée

Une fois que builtins.input / result a réussi à lire l'entrée, le résultat d'utilisation déclenche un événement d'audit.

classe int ([x])

classe int (x, base = 10)

Renvoie un objet entier construit à partir d'un nombre ou de la chaîne x ou 0 si aucun paramètre n'est fourni. Si x définit __int __ (), alors int (x) renvoie x. Int () . Si x définit index () , alors retourne x. Index (). Si x définit trunc () , alors retournez x. Trunc (). Pour les nombres à virgule flottante, il sera tronqué à zéro.

Si x n'est pas un nombre ou une base donnée, alors x doit être un octet de chaîne ou un tableau d'octets représentant une instance de littéral entier dans la base de base. Facultativement, le texte peut commencer par ou (sans espace entre les deux) et être entouré d'espaces. Le texte littéral basé sur n est composé de nombres de 0 à n-1, et la valeur de à (ou à) est de 10 à 35. La base par défaut est 10. Les valeurs autorisées sont 0 et 2–36. Les littéraux de base 2, -8 et -16 peuvent éventuellement être préfixés avec /, / ou / ± azAZ0b0B0o0O0x0X, qui est le même que le littéral entier dans le code. La base 0 signifie être complètement interprétée comme du texte de code, donc la base réelle est 2, 8, 10 ou 16, donc ce n'est pas légal, mais c'est et. int ('010', 0) int ('010') int ('010', 8)

Les types entiers sont décrits dans les types numériques-int, float, complex.

Modifié dans la version 3.4: Si la base n'est pas une instance de int et que l'objet de base a une méthode base .__ index__, appelez cette méthode pour obtenir l'entier de base. La version précédente base .__ int__ a remplacé la base. Index .

Modifié dans la version 3.6: autorise le regroupement des nombres par des traits de soulignement dans le texte du code.

Modifié dans la version 3.7: x est désormais un paramètre de position uniquement.

Des modifications ont été apportées dans la version 3.8: index () Si __int __ () n'est pas défini, revenez à.

isinstance (objet , classinfo)

Renvoie True si le paramètre d'objet est une instance du paramètre CLASSINFO ou une sous-classe de celui-ci (directe, indirecte ou virtuelle). Si objet n'est pas un objet du type donné, la fonction renvoie toujours False. Si classinfo est un tuple de type objet (ou récursivement d'autres tuples), True retourne si object est une instance de n'importe quel type. Si classinfo n'est pas un type ou un tuple de ce type, TypeError lèvera une exception.

issubclass (classe , classinfo)

Renvoie True si la classe est un CLASSINFO d'une sous-classe (directe, indirecte ou virtuelle). Une classe est considérée comme une sous-classe d'elle-même. classinfo peut être un tuple d'objets de classe, auquel cas chaque entrée de classinfo sera vérifiée. Dans tous les autres cas, TypeError lèvera une exception.

iter (objet [, sentinelle])

Renvoie un objet itérateur. Selon l'existence du deuxième paramètre, l'interprétation du premier paramètre est très différente. S'il n'y a pas de second paramètre, l'objet doit être un objet de collection qui prend en charge le protocole d'itération (la méthode __iter __ ()), ou il doit prendre en charge le protocole de séquence ( méthode 0 du paramètre entier getitem () commençant par int). S'il ne prend en charge aucun de ces protocoles, TypeError est déclenchée. Si le deuxième paramètre sentinelle est donné, l'objet doit être un objet appelable. L'itérateur créé dans ce cas appellera l'objet sans paramètre __next __ () à chaque appel à sa méthode. Si la valeur retournée est égale à la sentinelle, StopIteration sera augmenté, sinon la valeur sera retournée.

Voir aussi type d'itérateur.

Une application utile du second formulaire iter () est de construire un lecteur de blocs. Par exemple, lire un bloc de largeur fixe à partir d'un fichier de base de données binaire jusqu'à ce qu'il atteigne la fin du fichier:

from functools import partial
with open('mydata.db', 'rb') as f:
    for block in iter(partial(f.read, 64), b''):
        process_block(block)

importation(nom , globaux = aucun , locaux = aucun , fromlist = () , niveau = 0)

 注意  与importlib.import_module()不同的是,这是一个高级函数在日常的Python编程中并不需要 。

Cette fonction est appelée par l'instruction import. Elle peut être remplacée (en important le module intégré et affectée aux commandes intégrées. Importer ) pour modifier la sémantique de l'instruction import, mais elle est fortement déconseillée car il est généralement plus simple d'utiliser des hooks d'importation (voir PEP 302) pour atteindre le même objectif et non Cela peut entraîner des problèmes avec le code supposé être utilisé par l'implémentation d'importation par défaut. import () n'est pas recommandé d'utiliser directement importlib.import_module ().

Cette fonction importe le nom du module, en utilisant éventuellement les variables globales et locales données pour déterminer comment interpréter le nom dans le contexte du package. La fromlist donne les noms des objets ou sous-marins qui doivent être importés du module donné. L'implémentation standard n'utilise pas du tout son paramètre local, mais utilise uniquement ses paramètres globaux pour déterminer le contexte de package de l'instruction d'importation.

Le niveau spécifie s'il faut utiliser l'importation absolue ou l'importation relative. 0 (par défaut) signifie que seule l'importation absolue est effectuée. Une valeur positive de niveau indique le nombre de répertoires parents à rechercher par rapport au répertoire appelant le module __import __ () (voir PEP 328 pour plus de détails).

Lorsque la variable name prend la forme package.module, elle renvoie généralement le package de niveau supérieur (jusqu'au nom du premier point), au lieu de renvoyer le module nommé par son nom. Cependant, lorsqu'un paramètre fromlist non vide est donné, le module nommé par son nom sera retourné.

Par exemple, cette instruction fait que le code d'octet est similaire au code suivant: importation de spam

spam = __import__('spam', globals(), locals(), [], 0)

Cette instruction provoque cet appel: import spam.ham

spam = __import__('spam.ham', globals(), locals(), [], 0)

Notez comment __import __ () renvoie le module de niveau supérieur ici, car il s'agit de l'objet lié au nom via l'instruction import.

D'autre part, la déclaration résulte de spam.ham importer des œufs, des saucisses comme des saucisses

_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)
eggs = _temp.eggs
saus = _temp.sausage

Ici, le module spam.ham renvoie __import __ (). À partir de cet objet, récupérez les noms à importer et affectez-les à leurs noms respectifs.

Si vous souhaitez simplement importer le module par son nom (probablement dans le package), utilisez importlib.import_module ().

Une modification a été apportée dans la version 3.3: les valeurs négatives pour les niveaux ne sont plus prises en charge (cela change également la valeur par défaut à 0).

Publié 36 articles originaux · loué 0 · visites 616

Je suppose que tu aimes

Origine blog.csdn.net/Corollary/article/details/105424886
conseillé
Classement