Ce chapitre aborde certaines des fonctions intégrées les plus couramment utilisées de Python. Le mot intégré peut ne pas vous être familier, mais en anglais, le mot «built-in» signifie quelque chose comme «built-in», «intrinsic» ou «built-in».
Comme vous pouvez le voir à partir du mot «construit», le mot «intégré» est également utilisé dans l'industrie de la construction, et dans l'industrie de la construction, il fait référence aux équipements et aux fonctions qui ont déjà été installés depuis la construction du bâtiment.
Built-in est utilisé de la même manière dans le monde de la programmation, et lorsque l'expression "fonction intégrée de Python" apparaît, cela signifie "un groupe de fonctions intégrées depuis le début en Python".
Dans le chapitre précédent, vous avez créé vous-même diverses fonctions, mais même si vous ne créez pas le traitement des fonctions de base une par une, Python le prépare à l'avance. La fonction d'impression qui produit le contenu des variables, etc., que j'ai beaucoup utilisée, est également une fonction intégrée de Python.
Il y a beaucoup de choses qui sont plus pratiques que de créer vos propres fonctions à retenir. Utilisons-le petit à petit et rappelons-le.
Tout d'abord, c'est de la fonction d'impression qui a été utilisée de différentes manières jusqu'au chapitre précédent.
Comme vous pouvez le voir par le passé, la fonction d'impression affiche le contenu spécifié dans l'argument à l'écran. Si vous exécutez Python sur un écran noir tel que la ligne de commande ou l'invite Anaconda, le contenu sera affiché sur cet écran, et si vous l'exécutez sur Jupyter, le contenu sera sorti sur Jupyter.
Il est très souvent utilisé dans divers cas tels que la vérification du contenu des variables à chaque fois, la recherche de la cause d'un défaut (bogue) (également appelé débogage), la sortie du journal, etc. (la sortie du journal est Python séparément en plus de l'impression) Il y a une fonction dedans, mais je n'y toucherai pas ici).
Il est simple à utiliser et si vous spécifiez une valeur arbitraire pour l'argument, le contenu sera affiché.
print(100)
Contenu de sortie du résultat de l'exécution du code:
100
Bien qu'il s'agisse d'un code sans aucune torsion, le résultat de 100 est affiché car la valeur de 100 est spécifiée dans la fonction d'impression en tant qu'argument.
Vous pouvez également spécifier une variable comme argument. Dans le code ci-dessous, une variable appelée cat_age
est spécifiée comme argument de la fonction d'impression.
cat_age = 5
print(cat_age)
Contenu de sortie du résultat de l'exécution du code:
5
Avec cela seul, vous pouvez vérifier le contenu immédiatement sans afficher le contenu de la variable, mais en pratique, le code devient compliqué et long, et "Quelle est la valeur de cette variable maintenant?" Puisque des cas tels que "N'est-ce pas?" Se produisent souvent, la sortie d'impression est souvent utilisée.
En outre, la fonction d'impression peut spécifier plusieurs arguments. Dans ce cas, par défaut, plusieurs valeurs sont générées avec un espace demi-largeur entre elles. Comme il est possible de sortir sans concaténer plusieurs chaînes de caractères et variables en une seule chaîne de caractères, il est pratique lors de l'étiquetage du contenu de sortie ou de la gestion de plusieurs valeurs. Il accepte 2 ou 3 arguments ou plus.
cat_name = 'tama'
print('my name is:', cat_name)
Contenu de sortie du résultat de l'exécution du code:
my name is: tama
Si vous souhaitez utiliser un espace autre qu'un espace demi-largeur comme délimiteur lorsque plusieurs arguments sont spécifiés, vous pouvez définir un espace autre que l'espace demi-largeur par défaut en spécifiant l'argument sep
à l'aide de l'argument mot-clé (anglais). Il a le sens de "séparateur" dans le séparateur).
answer = 2
print('1 + 1', answer, sep=' = ')
Contenu de sortie du résultat de l'exécution du code:
1 + 1 = 2
Si vous spécifiez une liste qui stocke des valeurs numériques dans l'argument, la fonction sum renverra la valeur totale du contenu. En japonais, somme est un mot qui signifie montant total ou total.
Dans le code ci-dessous, vous pouvez obtenir le même résultat que lorsque vous avez calculé «1 + 2 + 3» (les fonctions de somme etc. sont principalement utilisées pour les variables dont les valeurs fluctuent comme les listes).
summed_val = sum([1, 2, 3])
print(summed_val)
Contenu de sortie du résultat de l'exécution du code:
6
De plus, la valeur sera calculée sans problème même si elle contient non seulement des entiers mais aussi des nombres à virgule flottante.
summed_val = sum([1.2, 2.5, 3])
print(summed_val)
Contenu de sortie du résultat de l'exécution du code:
6.7
Utilisez les fonctions max et min pour trouver les valeurs maximales et minimales dans une liste ou autre.
L'utilisation est presque la même que la fonction de somme, spécifiez simplement une liste, etc. comme argument.
Échantillon pour trouver la valeur maximale:
max_value = max([10, 3, 2.5, 60, 30])
print(max_value)
Contenu de sortie du résultat de l'exécution du code:
60
Échantillon pour trouver la valeur minimale:
min_value = min([10, 3, 2.5, 60, 30])
print(min_value)
Contenu de sortie du résultat de l'exécution du code:
2.5
Utilisez la fonction abs pour obtenir la valeur absolue d'un nombre. La valeur absolue est ** abs ** valeur olute en anglais. Si la valeur spécifiée dans l'argument est une valeur positive, la valeur telle qu'elle est est renvoyée et si une valeur négative est spécifiée dans l'argument, elle est renvoyée sous la forme d'une valeur positive.
Exemple lorsqu'une valeur positive est spécifiée pour l'argument:
absolute_value = abs(10)
print(absolute_value)
Contenu de sortie du résultat de l'exécution du code:
10
Exemple lorsqu'une valeur négative est spécifiée pour l'argument:
absolute_value = abs(-10)
print(absolute_value)
Contenu de sortie du résultat de l'exécution du code:
10
Utilisez la fonction d'arrondi pour effectuer des calculs proches de l'arrondi des valeurs flottantes.
Strictement parlant, exprimé par "close", il s'agit d'un calcul arrondi à pair appelé "round to even", qui est différent du calcul d'arrondi ("round to even" est round to even en anglais. Masu).
"Arrondir à pair" signifie que lorsque la valeur fractionnaire est égale à 5, la valeur est définie du côté où le résultat de l'arrondi est pair.
Par exemple, considérons une valeur de 2,5, qui a une fraction de 5.
Arrondi à 3 En revanche, dans le cas d'un arrondi à un nombre pair, le résultat est traité comme un nombre pair, il devient donc un nombre pair de 2.
Pensez à la valeur de 1,5 de la même manière. Lorsqu'il est arrondi, il devient 2. De plus, lors de l'arrondi à un nombre pair, il est converti en un nombre pair de 2 de la même manière.
Veuillez noter que la fonction d'arrondi de Python, qui est un calcul d'arrondi uniforme comme celui-ci, peut être arrondie et le résultat peut être différent.
Vérifions le résultat en utilisant la fonction round dans chaque cas.
Tout d'abord, lorsque vous spécifiez 1,5, assurez-vous qu'il devient un nombre pair de 2.
rounded_value = round(1.5)
print(rounded_value)
Contenu de sortie du résultat de l'exécution du code:
2
Ensuite, essayez de spécifier 1.4. Si la fraction n'est pas de 5, elle se comportera comme un arrondi, donc elle sera de 1.
rounded_value = round(1.4)
print(rounded_value)
Contenu de sortie du résultat de l'exécution du code:
1
Ensuite, essayez de spécifier 2.5. Le résultat est 2 au lieu de 3 car la fraction est 5 et la valeur est paire lorsqu'elle est arrondie.
rounded_value = round(2.5)
print(rounded_value)
Contenu de sortie du résultat de l'exécution du code:
2
Si vous devez spécifier le nombre de chiffres après la virgule décimale à utiliser, spécifiez-le sous la forme d'un entier dans le deuxième argument. Par exemple, si vous voulez rester à la première place, spécifiez 1 pour le deuxième argument, et si vous voulez rester à la troisième place, spécifiez 3.
Échantillon spécifié à laisser jusqu'au premier chiffre après la virgule décimale:
rounded_value = round(100.45235, 1)
print(rounded_value)
Contenu de sortie du résultat de l'exécution du code:
100.5
Échantillon spécifié à laisser à la deuxième place:
rounded_value = round(100.45235, 2)
print(rounded_value)
Contenu de sortie du résultat de l'exécution du code:
100.45
Échantillon spécifié à laisser à la troisième place:
rounded_value = round(100.45235, 3)
print(rounded_value)
Contenu de sortie du résultat de l'exécution du code:
100.452
Utilisez la fonction len pour obtenir le nombre d'éléments différents. Il est dérivé du mot anglais longueur, qui signifie «longueur». Le type de nombre qui peut être acquis dépend du type spécifié dans l'argument.
Par exemple, si une chaîne de caractères est spécifiée comme argument, le "nombre de caractères" sera renvoyé. Si une liste est spécifiée, "le nombre de valeurs stockées dans la liste" sera renvoyé. Si vous spécifiez un dictionnaire, "le nombre d'ensembles clé / valeur" sera renvoyé, et ainsi de suite.
Écrivons le code et essayons-le.
Commençons par la chaîne de caractères. Puisque la chaîne de 5 caractères ʻapple` est spécifiée dans l'argument, vous pouvez confirmer que 5 est renvoyé.
char_num = len('apple')
print(char_num)
Contenu de sortie du résultat de l'exécution du code:
5
Alors essayez contre la liste. Puisqu'il s'agit d'une liste qui stocke les trois valeurs «100, 200, 300», vous pouvez voir que 3 est renvoyé.
list_length = len([100, 200, 300])
print(list_length)
Contenu de sortie du résultat de l'exécution du code:
3
J'essaierai également le dictionnaire. Vous pouvez voir que la valeur de retour est également 2 car il existe deux ensembles de clés et de valeurs appelés nom ':' Mike '' et deux ensembles de clés et de valeurs appelés
âge ': 3`.
dict_length = len({'name': 'Mike', 'age': 3})
print(dict_length)
Contenu de sortie du résultat de l'exécution du code:
2
Nous avons mentionné des chaînes, des listes et des dictionnaires, mais vous pouvez spécifier divers autres types de valeurs comme arguments de la fonction len. Cependant, si vous spécifiez une valeur d'un type qui n'a pas de longueur, une erreur se produit.
Par exemple, si vous essayez de spécifier une valeur numérique telle qu'un entier, vous pouvez confirmer qu'une erreur se produit.
len(100)
TypeError: object of type 'int' has no len()
Dans cet exemple, le message d'erreur signifie quelque chose comme "Le type entier (int) n'a pas la fonction pour obtenir la longueur avec la fonction len".
Vous pouvez utiliser la fonction triée sur un élément qui a un ordre de plusieurs valeurs, comme une liste, pour trier (trier les données) les valeurs par ordre croissant (du plus petit au plus grand).
Comme vous pouvez le voir, ed est ajouté à la fin du nom de la fonction, il s'agit d'une fonction de traitement telle que "obtenir trié ** valeur **".
Si la valeur spécifiée dans l'argument est une liste contenant des valeurs numériques, vous pouvez obtenir la liste organisée par ordre croissant de valeurs numériques.
sorted_list = sorted([300, 200, 500, 100])
print(sorted_list)
Contenu de sortie du résultat de l'exécution du code:
[100, 200, 300, 500]
Si une liste contenant une chaîne de caractères est spécifiée comme argument, elle sera triée par ordre alphabétique (a à z) du premier caractère en anglais.
sorted_list = sorted(['banana', 'apple', 'orange', 'melon', 'carrot'])
print(sorted_list)
Contenu de sortie du résultat de l'exécution du code:
['apple', 'banana', 'carrot', 'melon', 'orange']
S'il s'agit d'une chaîne de caractères qui comprend une chaîne de caractères japonais, elle sera triée par hiragana ou katakana par le premier caractère.
sorted_list = sorted(['Pomme', 'Orange', 'melon', 'carotte', 'Avocat'])
print(sorted_list)
Contenu de sortie du résultat de l'exécution du code:
['Avocat', 'Orange', 'carotte', 'melon', 'Pomme']
Vous pouvez également trier les kanji et ainsi de suite. Puisque l'ordre est fixe, l'ordre sera le même à chaque fois que vous triez.
sorted_list = sorted(['Chat', 'chien', 'lapin'])
print(sorted_list)
Contenu de sortie du résultat de l'exécution du code:
['lapin', 'chien', 'Chat']
Quels types de règles sont utilisés pour déterminer l'ordre des kanji? Nous aborderons les codes de caractères dans les chapitres suivants, mais en réalité, les caractères se voient attribuer quelque chose comme des nombres (code de caractère Unicode). Hiragana et Katakana, divers kanji et symboles se voient attribuer quelque chose comme ce numéro, et lors de l'utilisation de la fonction triée, etc., ils sont triés en référence à cette valeur.
Notez qu'une erreur se produit car il n'est pas possible de déterminer «qui est plus petit» pour une liste qui contient des valeurs de types différents tels que des nombres et des chaînes.
sorted_list = sorted(
[300, 'banana', 'apple', 450, 'orange', 'melon', 'carrot', 100])
TypeError: '<' not supported between instances of 'str' and 'int'
J'obtiens un message d'erreur comme "La comparaison de less (<) entre les éléments chaîne et entier n'est pas prise en charge".
Comme la fonction triée, la fonction inversée est une fonction permettant de modifier l'ordre des contenus tels que les listes.
Cela renverra l'inverse des valeurs de la liste. Le nom vient de l'inverse, qui signifie «inverse».
Par exemple, s'il existe une liste de «[5, 1, 3]», le résultat de «[3, 1, 5]» sera renvoyé.
Veuillez noter que contrairement à trié, la valeur de retour n'est pas une liste mais un type spécial appelé itérateur. Si vous vérifiez la valeur de retour à l'aide d'une fonction appelée type qui vous permet de vérifier le contenu du type qui sera mentionné dans une section ultérieure, vous pouvez voir que des valeurs autres que la liste sont renvoyées.
reversed_list = reversed([300, 200, 500, 100])
print(type(reversed_list))
Contenu de sortie du résultat de l'exécution du code:
<class 'list_reverseiterator'>
J'omettrai l'explication ici parce que j'aborderai l'itérateur dans un chapitre ultérieur.
L'itérateur retourné ne peut pas être référencé en utilisant un index tel que «[0]» comme une liste. Une erreur se produira comme indiqué ci-dessous.
reversed_list = reversed([300, 200, 500, 100])
reversed_list[0]
TypeError: 'list_reverseiterator' object is not subscriptable
indice a une signification telle que «indice». Les numéros d'index tels que les listes sont également appelés indices. Puisque l'indice signifie quelque chose comme "l'indice ne peut pas être défini", le message d'erreur sera quelque chose comme "l'indice (l'index ne peut pas être spécifié) ne peut pas être spécifié pour un objet de type list_reverseiterator
".
Que faire si je souhaite utiliser les valeurs renvoyées sous forme de liste? Dans un tel cas, vous pouvez l'utiliser comme une liste en effectuant un processus appelé "cast" (le cast sera discuté en détail dans un chapitre ultérieur).
Pour effectuer un cast en liste, transmettez la valeur à la fonction de liste. Vous pouvez contrôler la liste comme référencer l'index en insérant le processus de cast comme indiqué dans le code ci-dessous (dans le code ci-dessous, la ligne liste_inversée = liste (liste_inversée)
correspond au cast).
reversed_list = reversed([300, 200, 500, 100])
reversed_list = list(reversed_list)
print('Première valeur d'index:', reversed_list[0])
print('Valeurs pour toute la liste:', reversed_list)
Contenu de sortie du résultat de l'exécution du code:
Première valeur d'index: 100
Valeurs pour toute la liste: [100, 500, 200, 300]
Pourquoi est-il renvoyé sous forme d'itérateur au lieu d'une liste? Même si vous regardez les publications sur le net y compris à l'étranger, c'est clair! Je ne connais pas vraiment la raison.
Au moment de la rédaction de ce livre, Python a une histoire d'environ 30 ans, donc "la commodité historique de l'implémentation de Python" et "triée sont des fonctions, alors qu'inversé est en fait une classe (plus tard). (Je vais toucher), et certains d'entre eux sont des classes pour faciliter l'implémentation dans le langage interne C. "Ou" D'autres fonctions intégrées sont également transformées en itérateurs en tenant compte de la charge comme la mémoire. Il y a diverses choses telles que «triés et inversés sont différents en raison des changements par rapport au milieu».
C'est un peu difficile, et je ne pense pas qu'il y ait vraiment de mal si vous ne le savez pas dans la pratique, sauf que c'est intéressant à lire, donc pour le moment, rappelez-vous simplement "Si vous voulez utiliser le résultat inversé dans une liste, lancez-le." reste ici.
La fonction format prend une valeur telle qu'une valeur numérique dans le premier argument, et en spécifiant une chaîne de caractères dans un format spécifique dans le second argument, la valeur spécifiée dans le premier argument est renvoyée sous la forme d'une chaîne de caractères qui correspond au format spécifique. Le fera.
Par exemple, vous pouvez mettre une virgule demi-largeur tous les trois chiffres dans une valeur numérique, fractionner un nombre décimal à une position spécifique comme la fonction ronde, le convertir en une chaîne de caractères dans un format appelé nombre binaire ou en faire un nombre arbitraire de chiffres. Le début est rempli de 0 etc.
Il existe de nombreux formats qui sont rarement utilisés, et certains peuvent être remplacés par d'autres, donc je ne parlerai pas de tous les formats ici, mais j'écrirai du code comme exemple.
Tout d'abord, il s'agit d'un cas où vous souhaitez obtenir une chaîne de caractères avec une virgule demi-largeur ajoutée tous les 3 chiffres à une valeur numérique. Pour l'utiliser, spécifiez une valeur numérique pour le premier argument et une chaîne de caractères virgule demi-largeur pour le deuxième argument, comme `` ',' '.
print(format(1234567, ','))
Contenu de sortie du résultat de l'exécution du code:
1,234,567
Vient ensuite le processus de remplissage des caractères. Si vous mettez un symbole >
suivi d'un nombre demi-largeur dans le deuxième argument, la valeur du premier argument sera une chaîne de caractères avec un espace demi-largeur ajouté à gauche pour ce nombre. Par exemple, si vous spécifiez «1» comme premier argument et «> 5» comme deuxième argument, une chaîne de caractères avec quatre espaces demi-largeur sera renvoyée afin que la chaîne de caractères résultante soit de 5 caractères.
print(format(1, '>5'))
Contenu de sortie du résultat de l'exécution du code:
1
Si vous spécifiez une valeur telle que «123» pour le premier argument, des espaces demi-largeur seront ajoutés pour deux caractères qui ne sont pas suffisants et le nombre d'espaces donné variera en fonction de la première valeur.
print(format(123, '>5'))
Contenu de sortie du résultat de l'exécution du code:
123
En plaçant un caractère spécifique avant le symbole >
, vous pouvez spécifier un espace autre que l'espace en ajoutant l'espace pour la partie manquante. Par exemple, si vous spécifiez une chaîne de caractères telle que !> 5
comme deuxième argument, le caractère!
Sera ajouté sur le côté gauche pour qu'il devienne 5 caractères.
print(format(123, '!>5'))
Contenu de sortie du résultat de l'exécution du code:
!!123
En utilisant ceci, par exemple, vous pouvez créer une chaîne de caractères avec 0 ajouté sur le côté gauche afin que le nombre de caractères soit arbitraire.
print(format(12, '0>5'))
Contenu de sortie du résultat de l'exécution du code:
00012
De plus, si vous utilisez le symbole «<» au lieu du symbole «>», un caractère spécifique sera ajouté par le nombre de caractères manquants sur le côté droit.
print(format(123, '!<5'))
Contenu de sortie du résultat de l'exécution du code:
123!!
Si vous spécifiez le symbole «^» comme deuxième argument au lieu du symbole «>» ou «<», une chaîne de caractères spécifique sera ajoutée à gauche et à droite de la valeur spécifiée dans le premier argument, et le nombre total de caractères sera spécifié. La chaîne sera renvoyée en quelques minutes. Le nombre de caractères dans le résultat est défini après le symbole «^».
Par exemple, si vous souhaitez que la valeur de retour soit de 15 caractères, spécifiez «^ 15». Si vous essayez avec le code suivant, des espaces demi-largeur seront ajoutés des deux côtés de la chaîne de caractères "cat`" spécifiée dans le premier argument jusqu'à ce qu'elle devienne 15 caractères.
print(format('Chat', '^15'))
Contenu de sortie du résultat de l'exécution du code:
Chat
De plus, si vous définissez un caractère spécifique à gauche du symbole «^», un traitement supplémentaire sera exécuté avec ce caractère au lieu de l'espace demi-largeur.
print(format('Chat', 'chien^15'))
Contenu de sortie du résultat de l'exécution du code:
Chien chien chien chien chien chien chien chat chien chien chien
Vient ensuite la gestion des nombres décimaux. Pour créer une chaîne de caractères comprenant n'importe quel nombre jusqu'à un nombre spécifique de chiffres, spécifiez une chaîne de caractères telle que «.3f» comme deuxième argument. La partie 3 est une valeur arbitraire du nombre de chiffres après la virgule décimale à laisser. Si vous spécifiez 3, il restera jusqu'à la 3e place. Vous pouvez définir n'importe quelle valeur telle que «.2f» ou «.4f». La partie «f» vient de l'acronyme float pour les nombres à virgule flottante.
Si un entier est spécifié comme premier argument, une chaîne de caractères pour le nombre de chiffres spécifié, telle que «.000», sera ajoutée.
print(format(2, '.3f'))
Contenu de sortie du résultat de l'exécution du code:
2.000
Si une valeur telle que «1.234567» est spécifiée dans le premier argument et que le nombre de chiffres de la partie fractionnaire spécifiée dans le deuxième argument est dépassé, l'arrondi des fractions est exécuté et spécifié de la même manière que lors de l'utilisation de la fonction d'arrondi. Seule la partie fractionnaire du nombre de chiffres est laissée.
print(format(1.234567, '.2f'))
Contenu de sortie du résultat de l'exécution du code:
1.23
En outre, vous pouvez également convertir des nombres en binaire ou hexadécimal. Je n'entrerai pas dans les détails ici, mais je suis sûr que certains d'entre vous les entendront pour la première fois, alors je vais les expliquer brièvement.
Vous avez peut-être vu des images de conception liées à des ordinateurs qui sont souvent représentées par une liste de 0 et de 1 (par exemple, 0011101001, etc.).
La méthode d'expression de diverses valeurs en combinant 0 et 1 de cette manière est appelée un nombre binaire. Les nombres utilisés dans la vie quotidienne sont appelés nombres décimaux, et les valeurs sont exprimées en utilisant 10 nombres de 0 à 9, tels que 0, 1, 2, 3, ...,.
D'autre part, les nombres binaires sont exprimés en décalant la combinaison de 0 et 1 à mesure que la valeur augmente, par exemple 0, 1, 10, 11, 100, 101, 110, 111. Il est difficile de dire en un coup d'œil quelle est chaque valeur, donc je l'utilise rarement dans ma vie quotidienne, mais elle apparaît souvent dans le monde de la programmation et des ordinateurs.
Comme vous pouvez vous y attendre d'après la description des nombres binaires et décimaux, les nombres hexadécimaux sont représentés par 16 valeurs. Puisqu'il n'y a que 10 nombres de 0 à 9, en plus des nombres, 6 alphabets d'abcdef (souvent en majuscules) sont utilisés.
Les nombres hexagonaux sont principalement utilisés dans les codes de couleur (désignation des couleurs) dans les technologies de l'industrie du Web. Les couleurs sont représentées par des nombres et des alphabets de A à F, tels que «FFFFFF» pour le blanc, «FF0000» pour le rouge et «0000FF» pour le bleu. Les deux caractères de gauche sont rouges, les deux caractères du milieu sont verts et les deux caractères de droite sont bleus, vous pouvez donc exprimer la couleur finale, donc si vous vous y habituez plus que des nombres décimaux, vous pouvez gérer les couleurs de manière intuitive. Ce sera comme.
Par exemple, si vous exprimez la couleur en décimal au lieu d'hexadécimal, il semble difficile de juger de quelle couleur il s'agit simplement en regardant les nombres tels que «16777215» pour le blanc, «16711680» pour le rouge et «65280» pour le vert. Je vais.
Vous trouverez ci-dessous une description de ce que chaque valeur sera en décimal, binaire et hexadécimal (pour les nombres hexadécimaux qui n'ont pas 6 chiffres, 0 est défini à gauche dans les codes de couleur, etc.) Par exemple, la valeur «ff» correspond à «0000ff» sur le code couleur).
Le tableau ci-dessous résume la correspondance entre les nombres décimaux, les nombres binaires et les nombres hexadécimaux.
Nombre décimal | Nombre binaire | Hexadécimal |
---|---|---|
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
10 | 1010 | a |
15 | 1111 | f |
16 | 10000 | 10 |
17 | 10001 | 11 |
Ces conversions peuvent également être effectuées avec la fonction format.
Tout d'abord, j'écrirai le processus pour convertir la chaîne de caractères du nombre décimal en nombre binaire. Pour convertir en binaire, spécifiez `` b '' comme deuxième argument. Puisque les nombres binaires sont appelés code binaire, nombre binaire, etc. en anglais, l'acronyme b pour binaire est utilisé pour spécifier la conversion en nombres binaires.
Exemple pour convertir la chaîne décimale 3 en chaîne binaire 11:
print(format(3, 'b'))
Contenu de sortie du résultat de l'exécution du code:
11
Exemple de conversion de la décimale 15 en chaîne binaire 1111:
print(format(15, 'b'))
Contenu de sortie du résultat de l'exécution du code:
1111
Ensuite, je vais aborder le processus d'acquisition d'une chaîne de caractères obtenue en convertissant un nombre décimal en un nombre hexadécimal. Pour convertir en hexadécimal, spécifiez `` x '' comme deuxième argument. Le nombre hexadécimal est un nombre hexadécimal ou un chiffre hexadécimal en anglais, ou hexadécimal pour faire court. Prenant partie de la lecture hexadécimale, x est maintenant utilisé pour spécifier des nombres hexadécimaux.
Exemple pour convertir la décimale 10 en une chaîne hexadécimale:
print(format(10, 'x'))
Contenu de sortie du résultat de l'exécution du code:
a
Exemple pour convertir la chaîne décimale 17 en chaîne hexadécimale 11:
print(format(17, 'x'))
Contenu de sortie du résultat de l'exécution du code:
11
Supposons maintenant que vous souhaitiez convertir une valeur binaire ou hexadécimale en nombre décimal. Dans ce cas, il est nécessaire de spécifier une valeur binaire ou hexadécimale comme premier argument, mais comment exprimer une valeur binaire ou hexadécimale sur Python?
Tout d'abord, c'est un nombre binaire, mais pour le gérer en Python, écrivez la valeur du nombre binaire après l'avoir préfixée avec «0b». Si vous voulez gérer une valeur binaire de «111», exprimez-la sous la forme de «0b111».
De plus, lors de la conversion en un nombre décimal, spécifiez `` d'` comme deuxième argument. Les nombres décimaux sont appelés nombres dicimaux ou chiffres décimaux en anglais, donc lorsque vous spécifiez un nombre décimal, prenez l'acronyme dicimal et spécifiez d comme argument.
Exemple pour convertir le binaire 111 en chaîne décimale 7:
print(format(0b111, 'd'))
Contenu de sortie du résultat de l'exécution du code:
7
Enfin, considérez le processus de conversion d'un nombre hexadécimal en nombre décimal. Pour gérer les nombres hexadécimaux en Python, ajoutez la valeur «0x» au début. Si la valeur est «ffffff», écrivez-la comme «0xffffff».
Le deuxième argument spécifie également «'d'».
Exemple de conversion de ffffff hexadécimal en décimal 16777215:
print(format(0xffffff, 'd'))
Contenu de sortie du résultat de l'exécution du code:
16777215
Le type de valeur d'une variable, etc. est-il une chaîne de caractères? Est-ce un entier? Ou est-ce un autre type? Si vous voulez découvrir de telles choses, utilisez la fonction isinstance. En utilisant cette fonction, il est possible de contrôler le programme de telle sorte que ce processus soit exécuté si la valeur est de type XX, et un autre processus est exécuté si la valeur est de type XX.
Bien que le nom vienne de, une valeur générée par un type est appelée une instance. Par exemple, si la valeur est «5», ce sera une instance d'un entier car il s'agit d'une valeur créée à partir du type int d'un entier.
Si vous pensez à la signification de "la valeur cible est une instance de ce type" en anglais, ce sera comme "la valeur cible ** est ** ce type ** instance **", donc le nom de la fonction est instance. Il est devenu.
Spécifiez la variable que vous souhaitez archiver dans le premier argument et spécifiez le type dans le deuxième argument.
Par exemple, pour vérifier si la variable nommée nom est une chaîne de caractères, écrivez comme suit sous la forme de spécification de str comme deuxième argument. Le résultat est une valeur booléenne (booléenne) et est renvoyé sous la forme True ou False. True si la valeur est du type spécifié, False dans le cas contraire.
name = 'Tama'
result = isinstance(name, str)
print(result)
Contenu de sortie du résultat de l'exécution du code:
True
En ce qui concerne le type du deuxième argument, plusieurs types peuvent être spécifiés avec un taple. Dans ce cas, True est retourné s'il correspond à "n'importe quel type dans le taple", et False est retourné dans le cas contraire. Par exemple, pour vérifier s'il correspond à un entier (int) ou à un nombre à virgule flottante (float), spécifiez-le dans le second argument tel que (int, float)
.
Exemple qui devient True si le premier argument est un entier:
print(isinstance(100, (int, float)))
Contenu de sortie du résultat de l'exécution du code:
True
Exemple qui a la valeur True si le premier argument est un nombre à virgule flottante:
print(isinstance(20.35, (int, float)))
Contenu de sortie du résultat de l'exécution du code:
True
Si le premier argument est une chaîne, ce sera False car ce n'est ni un entier ni un float.
print(isinstance('Tama', (int, float)))
Contenu de sortie du résultat de l'exécution du code:
False
De plus, il existe une propriété qui isinstance devient True même pour une instance qui hérite d'un type spécifique, mais qui sera discutée en détail dans un chapitre de classe ultérieur.
Je vais également aborder la fonction de type qui est apparue plusieurs fois jusqu'à présent. Si vous spécifiez une instance dans le premier argument de la fonction type, le type cible sera renvoyé. Si vous spécifiez une valeur entière, int est renvoyé, si vous spécifiez une valeur de chaîne de caractères, str est renvoyé, et ainsi de suite.
Exemple de retour d'int avec un entier comme argument:
print(type(100))
Contenu de sortie du résultat de l'exécution du code:
<class 'int'>
Exemple de str renvoyé avec une chaîne comme argument:
print(type('Chat'))
Contenu de sortie du résultat de l'exécution du code:
<class 'str'>
Contrairement à la fonction isinstance, celle-ci peut obtenir des informations de type spécifiques, elle est donc souvent utilisée en combinaison avec la fonction d'impression. Par exemple, la fonction isinstance vérifie "s'il s'agit d'une valeur d'un type spécifique", et si elle est différente, elle est utilisée lorsque "de quel type de valeur s'agit-il?"
De plus, puisque la valeur de type peut être obtenue, il est possible d'obtenir la valeur de vérité du jugement telle que "si cette valeur est du type de XX" comme cela est fait par isinstance (le style d'écriture de ==
est le côté gauche. Si le côté droit correspond, il renvoie True, et s'il ne correspond pas, il renvoie False. Cela sera décrit en détail plus loin dans la section sur le branchement conditionnel).
is_int = type(100) == int
print(is_int)
Contenu de sortie du résultat de l'exécution du code:
True
Cependant, ce style d'écriture est obsolète dans PEP8, la convention de codage Python, et nécessite l'utilisation de is instance.
Les comparaisons de type d'objet devraient toujours utiliser isinstance () au lieu de comparaisons de type direct. Guide de style de code Python
Il existe plusieurs raisons. J'en parlerai à titre d'exemple.
Tout d'abord, si vous voulez seulement comparer, l'instance est un peu moins compliquée à décrire. Lorsque vous utilisez la fonction isinstance, vous pouvez la gérer en appelant une seule fonction.
La deuxième raison, comme mentionné dans la section isinstance, est que isinstance inclut même si la valeur hérite d'un type spécifique. Je parlerai de l'héritage plus tard, mais imaginez un diagramme de famille ici. Une fonctionnalité appelée héritage vous permet de créer des types qui héritent des caractéristiques de leurs parents.
Dans la fonction isinstance, en spécifiant l'ancêtre comme type, il est jugé comme "s'il s'agit d'une famille XX" (en fait c'est un programme, il est donc jugé comme "s'il s'agit d'une famille de chaînes de caractères"). ..
D'autre part, la fonction type fait un jugement tel que "s'il s'agit d'un individu spécifique".
Puisqu'il s'agit d'une ancienne version de Python, cela n'a pas d'importance dans le Python que vous utilisez, mais dans l'ancien Python tel que Python 2.7, il existe un type qui correspond à l'ancêtre appelé basestring ainsi que str, et en tant qu'enfant de ce type str Il y avait aussi un type appelé unicode.
Lorsqu'il existe plusieurs types pour un élément spécifique (par exemple, une chaîne de caractères) comme celui-ci, il est difficile d'utiliser la fonction type lorsque vous voulez juger s'il s'agit d'une chaîne de caractères ou non. Plus il existe de types similaires, tels que "type str" ou "type unicode", plus il est difficile de vérifier.
Par conséquent, l'un des mérites de isinstance est qu'il peut être facilement déterminé comme "s'il s'agit d'une famille de chaînes de caractères" simplement en spécifiant l'ancêtre en haut du diagramme de famille avec la fonction isinstance.
Dans la version actuelle de Python, le type de la chaîne de caractères est unifié en str, vous n'avez donc pas à vous soucier de plusieurs types de chaînes de caractères. Cependant, une telle chose se produit avec d'autres types, et vous créerez vous-même un type spécifique (classe) dans un chapitre ultérieur, mais vous aurez alors besoin du cas mentionné cette fois.
La troisième raison est qu'elle est proche de la langue naturelle (grammaire anglaise ordinaire). Le code proche du langage naturel est préféré dans la zone Python. En effet, il est plus facile de comprendre le code si vous pouvez comprendre la signification du code comme si vous lisiez une phrase en anglais.
Par exemple, comme je l'expliquerai en détail dans le chapitre sur le branchement conditionnel plus tard, si vous écrivez le code "si la variable est None" en Python, il sera écrit comme ʻif variable est None: `. Bien qu'il s'agisse d'un programme, vous pouvez écrire du code sous une forme similaire à la lecture de l'anglais.
Dans le cas d'isinstance, ce n'est pas si proche du langage naturel, mais lors de l'écriture de code tel que "si c'est une chaîne de caractères" en utilisant isinstance, ce sera du code tel que ʻif isinstance (variable, str): . .. Personnellement, je pense que c'est un peu plus proche du langage naturel que le code tel que ʻif type (variable) == str:
.
Utilisez la fonction all pour déterminer si toutes les valeurs stockées dans une liste ou un tapple sont vraies pour la valeur booléenne (booléenne). Le nom de la fonction est tout parce qu'il est jugé comme "si tout est vrai".
Par exemple, il vérifie chacun et ajoute la valeur booléenne du résultat à la liste, et enfin il est utilisé pour juger si le tout est vrai ou non.
L'utilisation est simple, spécifiez simplement la liste ou la taple qui stocke la valeur booléenne dans le premier argument.
Exemples qui renvoient True car toutes les valeurs de la liste sont True:
all_values_are_true = all([True, True, True, True])
print(all_values_are_true)
Contenu de sortie du résultat de l'exécution du code:
True
False est renvoyé car False est inclus dans la liste Exemple:
all_values_are_true = all([True, True, False, True])
print(all_values_are_true)
Contenu de sortie du résultat de l'exécution du code:
False
Le contenu est similaire à la fonction all, mais la fonction any renvoie True si l'un des contenus de la liste contient True. Si vous pensez au mot anglais "one of them", ce serait n'importe lequel d'entre eux, mais c'est une fonction quelconque à cause de ce sens.
L'utilisation est la même que la fonction all, et la liste ou la taple qui stocke la valeur booléenne est spécifiée comme premier argument.
Un exemple qui renvoie True car même un True est dans la liste:
any_values_are_true = any([True, False, False, False])
print(any_values_are_true)
Contenu de sortie du résultat de l'exécution du code:
True
False est renvoyé car 1 est également True non inclus dans la liste Exemple:
any_values_are_true = any([False, False, False, False])
print(any_values_are_true)
Contenu de sortie du résultat de l'exécution du code:
False
Comme nous l'avons vu, les fonctions intégrées utilisent une variété de noms de fonctions courants et courts, tels que sum et max.
Par conséquent, si vous les utilisez par inadvertance pour les noms de variables, etc., la fonction sera écrasée. Par exemple, supposons que vous calculiez la valeur de «total» et que vous nommez la variable somme comme indiqué dans le code ci-dessous.
sum = 150 + 200
Ce code lui-même ne provoque aucune erreur. Cependant, le nom sum est écrasé par une variable entière, ce qui rend la fonction de somme intégrée inutilisable.
Lorsque j'essaye de l'exécuter, j'obtiens l'erreur suivante.
sum = 150 + 200
print(sum())
TypeError: 'int' object is not callable
Puisque la somme n'est pas une fonction intégrée mais une variable entière, le message d'erreur est "L'objet entier ne peut pas être appelé (ne peut pas être exécuté)".
De cette façon, le nom de la fonction intégrée peut être utilisé comme nom de variable, etc., mais si vous l'écrasez, vous ne pourrez pas utiliser la fonction intégrée, ou quand quelqu'un d'autre modifie le code L'écrasement comme cet exemple doit être évité autant que possible car il peut provoquer des accidents et des dysfonctionnements dus à des cas tels que «Il a été écrasé par».
La plupart des Jupyter, ou même des éditeurs de texte pour d'autres programmes, ont été modifiés pour des couleurs de texte différentes afin que vous puissiez faire la distinction entre les fonctions intégrées et les variables régulières (si ce livre est également affiché en couleur). Dans la partie affichage du code, la couleur des caractères de la fonction intégrée est probablement modifiée). Même si vous ne vous souvenez pas de tous les noms de fonction des fonctions intégrées, faites attention si la couleur du texte n'est pas la couleur normale de la variable lorsque vous créez la variable et vérifiez si elle a été écrasée.
[1] Créons une variable et sortons son contenu.
[2] Calculons la somme de 5 nombres arbitraires avec la fonction intégrée sans utiliser le symbole «+».
[3]. Obtenons la valeur maximale de 5 nombres en utilisant la fonction intégrée.
[1]. Utilisez la fonction d'impression pour imprimer quelque chose comme des variables.
age = 25
print('maintenant', age, 'Je suis vieux.')
Contenu de sortie du résultat de l'exécution du code:
J'ai 25 ans maintenant.
[2]. Vous pouvez en calculer le total en spécifiant une liste ou une taple qui stocke les valeurs numériques dans l'argument de la fonction de somme.
list_value = [120, 335.3, 221, 890, 1002]
summed_val = sum(list_value)
print(summed_val)
Contenu de sortie du résultat de l'exécution du code:
2568.3
[3] En spécifiant une liste ou une taple qui stocke des valeurs numériques dans l'argument de la fonction max, vous pouvez obtenir la plus grande valeur parmi elles.
list_value = [120, 335.3, 221, 890, 1002]
max_value = max(list_value)
print(max_value)
Contenu de sortie du résultat de l'exécution du code:
1002
[1]. Obtenons la valeur minimale de 5 nombres en utilisant la fonction intégrée.
[2]. Obtenons la valeur absolue de -5
en utilisant la fonction intégrée.
[3] Calculons l'arrondi pair en utilisant la fonction intégrée pour afficher la valeur «100,45» au premier chiffre après la virgule décimale, et obtenons la valeur «100,5».
[1] En spécifiant une liste ou une taple qui stocke des valeurs numériques dans l'argument de la fonction min, vous pouvez obtenir la plus petite valeur parmi elles.
list_value = [120, 335.3, 221, 890, 1002]
min_value = min(list_value)
print(min_value)
Contenu de sortie du résultat de l'exécution du code:
120
[2]. Utilisez la fonction abs pour obtenir la valeur absolue d'une valeur numérique. Il est pratique d'utiliser simplement quand on ne sait pas si la valeur est positive ou négative en raison de variables.
abs_value = abs(-5)
print(abs_value)
Contenu de sortie du résultat de l'exécution du code:
5
[3]. Utilisez la fonction d'arrondi pour effectuer un arrondi uniforme et spécifiez 1 dans le deuxième argument pour afficher jusqu'au premier chiffre après la virgule décimale.
rounded_value = round(100.45, 1)
print(rounded_value)
Contenu de sortie du résultat de l'exécution du code:
100.5
[1] Utilisons la fonction intégrée pour obtenir le nombre de valeurs dans la liste «[1, 3, 6, 1, 5, 7, 9]».
[2] Utilisons la fonction intégrée pour obtenir une liste des valeurs de la liste «[1, 3, 6, 1, 5, 7, 9]» triées par ordre croissant (par ordre croissant).
[3]. Utilisons la fonction intégrée pour obtenir une liste des valeurs de la liste «[1, 3, 6, 1, 5, 7, 9]» triées par ordre décroissant (par ordre décroissant de valeur).
[1]. Utilisez la fonction len pour obtenir le nombre de valeurs telles que les listes.
list_length = len([1, 3, 6, 1, 5, 7, 9])
print(list_length)
Contenu de sortie du résultat de l'exécution du code:
7
[2]. Utilisez la fonction triée pour obtenir une liste triée par ordre croissant.
sorted_list = sorted([1, 3, 6, 1, 5, 7, 9])
print(sorted_list)
Contenu de sortie du résultat de l'exécution du code:
[1, 1, 3, 5, 6, 7, 9]
[3]. Pour obtenir une liste triée par ordre décroissant, reflétez la fonction inversée sur les valeurs triées par ordre croissant par la fonction triée. De plus, la valeur est ensuite convertie en une liste, appelée une distribution.
sorted_list = sorted([1, 3, 6, 1, 5, 7, 9])
reversed_list = list(reversed(sorted_list))
print(reversed_list)
Contenu de sortie du résultat de l'exécution du code:
[9, 7, 6, 5, 3, 1, 1]
[1]. Essayez d'utiliser la fonction intégrée pour obtenir la valeur booléenne indiquant si les variables suivantes sont des chaînes.
cat_name = 'Tama'
[2]. Essayez d'obtenir les types des variables suivantes en utilisant la fonction intégrée.
price = 200
[1]. Utilisez la fonction isinstance pour obtenir la valeur booléenne indiquant si une variable ou autre est une instance d'un type spécifique. Spécifiez l'instance cible dans le premier argument et le type (str car il s'agit cette fois d'une chaîne de caractères) dans le deuxième argument.
cat_name = 'Tama'
is_str = isinstance(cat_name, str)
print(is_str)
Contenu de sortie du résultat de l'exécution du code:
True
[2]. Utilisez la fonction type pour obtenir le type de la variable.
price = 200
price_type = type(price)
print(price_type)
Contenu de sortie du résultat de l'exécution du code:
<class 'int'>
Appendix
Recommended Posts