Introduction à Python que même les singes peuvent comprendre (partie 3)

Ensuite, c'est le troisième article pour les débutants après la dernière fois. Cette fois, nous traiterons des fonctions, méthodes et packages Python.

table des matières

  1. Fonction
  2. Méthode
  3. Paquet

1. Fonction

Parlons d'abord des fonctions. En fait, des fonctions sont déjà apparues jusqu'à présent. C'est une fonction de type, une fonction de liste, etc. Alors, qui est une fonction? En termes simples, une fonction est un morceau de code réutilisable qui vise à résoudre une tâche particulière </ b>. Si vous voulez faire quelque chose, vous devez généralement écrire le code vous-même, mais si une fonction existe, l'écriture de cette fonction fera le travail pour vous au lieu d'écrire le code. Laissez-moi vous expliquer avec un exemple. Vous trouverez ci-dessous une liste de prix familiers à chaque fois.

price = [2, 2.5, 13, 1.15]

Supposons maintenant que vous souhaitiez obtenir le prix maximum. Vous pouvez également trouver la valeur maximale en comparant les valeurs numériques une par une sans utiliser de fonction. Cependant, si vous connaissez la fonction max qui trouve la valeur maximale, vous pouvez la trouver d'un seul coup comme suit.

price = [2, 2.5, 13, 1.15]
max(price)

L'exécution du code ci-dessus renverra le nombre le plus élevé de la liste.

13

Comme type (), la fonction max est une fonction intégrée Python (une fonction qui peut être utilisée par défaut sans être définie ou implémentée dans le code) et peut être utilisée par n'importe qui. Bien entendu, vous pouvez également affecter le résultat de la fonction à une nouvelle variable comme suit.

most_expensive = max(price)
#13 est le plus_Remplacé par cher

Ensuite, introduisons une fonction intégrée appelée fonction ronde </ b>. Cette fonction appelée round est une fonction qui arrondit. Comme indiqué ci-dessous, décrivez le nombre que vous souhaitez arrondir et le nombre de chiffres que vous souhaitez arrondir. round (nombre, nombre de chiffres) </ b> Vous trouverez ci-dessous le code si vous souhaitez arrondir 3,14 à la première décimale.

round(3.14, 1)

Si vous exécutez le code ci-dessus, il sera arrondi à la première décimale comme indiqué ci-dessous.

3.1

Et si le nombre de chiffres n'est pas spécifié, il sera arrondi à un entier.

round(3.14)

Le résultat est le suivant.

3
#Si vous ne spécifiez pas le nombre de chiffres, ce sera un entier

En fait, voyons l'aide de python pour voir quel type de fonction round est. Pour voir le contenu de la fonction, utilisez la fonction d'aide comme indiqué ci-dessous.

help(round) 

Lorsque vous exécutez le code ci-dessus, les détails de la fonction seront affichés comme sortie comme ci-dessous.

round(...)
    round(number[, ndigits]) -> number
    
    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

Selon l'explication, la fonction round nécessite deux types d'entrées, nombre et ndigit (l'entrée de la fonction est appelée argument </ b>). Cependant, s'il n'y a qu'un seul argument et que ndigit (l'argument qui spécifie le nombre de chiffres) n'existe pas, il sera arrondi à un entier. Si vous regardez attentivement l'explication donnée dans cette aide, vous pouvez voir que ", ndigits" sont entre crochets []. Cela signifie que la fonction fonctionne même si [] n'existe pas, et cette fois cela signifie que s'il n'y a pas de partie [], l'argument est arrondi à un entier. Autrement dit, les arguments dans [] sont facultatifs </ b>.

Ensuite, jetons un œil à la fonction triée </ b>.

help(sorted)

En regardant l'explication avec la fonction d'aide, la réponse suivante a été renvoyée.

Help on built-in function sorted in module builtins:

sorted(iterable, /, *, key=None, reverse=False)
    Return a new list containing all items from the iterable in ascending order.
    
    A custom key function can be supplied to customize the sort order, and the
    reverse flag can be set to request the result in descending order.

Vous pouvez voir que sorted () prend trois arguments: iterable, key et reverse. En fait, cette fonction triée est profonde, mais pour l'expliquer brièvement, des objets itérables avec plusieurs éléments (comme des listes. Le concept d '"objets" sera expliqué dans le chapitre suivant sur la méthode, donc pour le moment, list Si vous spécifiez (pensez-y s'il vous plaît), c'est une fonction qui trie ces éléments. Si vous entrez True à l'envers, il sera trié par ordre décroissant et si vous entrez False, il sera trié par ordre croissant. La clé est un argument qui spécifie l'option de tri, mais c'est un article pour les débutants, je vais donc l'omettre.

price = [2, 2.5, 13, 1.15]
sorted(price, reverse = True)

Puisque reverse est True, il est trié par ordre décroissant,

[13, 2.5, 2, 1.15]

Le résultat est.

Eh bien, cette fois, j'ai introduit la fonction. J'ai appris très peu de fonctions jusqu'à présent, mais je rencontrerai probablement diverses fonctions à l'avenir au fur et à mesure que j'effectue diverses analyses. Si vous recherchez sur le net en pensant "Je me demande s'il existe une telle fonction", il peut y avoir des fonctions inopinément utiles. Si vous utilisez la fonction d'aide, vous pouvez voir comment la fonction de première utilisation fonctionne, veuillez donc essayer différentes fonctions.

2. Méthode

Vous connaissez maintenant les fonctions intégrées telles que max () pour obtenir la valeur maximale d'une liste et len () pour obtenir la longueur d'une liste ou d'une chaîne. Cependant, vous ne pouvez toujours pas effectuer d'opérations de base comme obtenir l'index d'un élément dans la liste ou réorganiser le contenu de la liste. Bien sûr, une fonction intégrée qui peut le faire serait une solution, mais je n'ai jamais vu une telle fonction, et si c'est le cas, elle est rarement utilisée. Alors, que devons-nous faire de ces opérations? En passant, nous avons déjà créé de nombreuses variables de différents types tels que le type de chaîne, le type flottant, le type de liste, etc.

name = "ItemA"
#Type de chaîne
value = 13
#type de flotteur
price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
#type de liste

Ces valeurs et données sont appelées objets Python </ b>. Cette chaîne est également un objet, et ce flotteur est également un objet. Bien sûr, la liste est aussi un objet. Ces objets ont un "type" spécifique, tel que chaîne, étage, liste, etc., le "ItemA" contenu dans la liste est un objet de type chaîne, et la liste entière est également un type de liste. Objet. Et chaque objet, pas seulement le type, a une méthode </ b>. Conceptuellement, vous pouvez considérer une méthode comme une fonction qui "appartient" à un objet Python </ b>. Par exemple, un objet de type string a une méthode appelée capitalize () qui rend le premier caractère de la chaîne supérieur et le reste inférieur, et une méthode appelée replace () qui effectue le remplacement. Comme vous pouvez le voir, il existe différentes méthodes en fonction du type d'objet, et il existe également différentes méthodes pour float et list.

Exemples de types et de méthodes

Moule Exemple de méthode
str capitalize()、replace()
float bit_length()、conjugate()
list index()、count()

Soit dit en passant, même si vous parlez de théorie, ce n'est peut-être pas facile à comprendre, alors laissez-moi vous montrer un exemple de la façon de l'utiliser réellement.

Dans la liste ci-dessous, supposons que vous souhaitiez obtenir l'index de "ItemC".

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]

Puisque Price est un objet Python de type liste, il a une méthode appelée index. Pour appeler la méthode, utilisez la notation par points comme suit.

price.index("ItemC")
#Appliquer la méthode de l'indice au prix

Saisissez la chaîne "ItemC", l'élément dont vous souhaitez obtenir l'index. Bien sûr, ce qui est retourné est 4, qui est l'index de "ItemC".

4
#"ItemC"Indice

Vous pouvez maintenant compter le nombre de 13 dans la liste à l'aide d'une méthode appelée count que vous pouvez utiliser avec un objet de type list.

price.count(13)
#Appliquer la méthode de comptage au prix

Bien sûr, 13 n'apparaît qu'une fois dans la liste, donc 1 est renvoyé.

1

Jusqu'à présent, nous avons vu des méthodes pour les objets de type liste. Cependant, les objets Python avec des méthodes ont diverses méthodes non seulement dans les listes, mais également dans float, integr, boolean et string. Par exemple, regardons un objet de type string.

product1 = "pencil"

La chaîne de caractères "ItemA" est affectée à product1. Utilisons une méthode appelée capitalize () pour ce produit1.

product1.capitalize()

Dans ce cas, capitalize () renverra une chaîne avec uniquement la première lettre en majuscule.

"Pencil"

Une méthode similaire est upper (), qui met la chaîne en majuscule.

Maintenant, essayons la méthode replace qui effectue le remplacement, qui a été brièvement introduite plus tôt. J'ai attribué un crayon à product1, mais quand je veux vraiment le mettre en plume, je peux le réparer comme suit.

product1.replace("cil","stand")

Puisque "cil" est remplacé par "stand" au crayon, la chaîne attribuée dans product1 est la suivante.

"penstand"

Comme nous l'avons vu, chaque objet a sa propre méthode en fonction de son type, et le contenu de cette méthode diffère selon le type. Par exemple, vous pouvez utiliser la méthode replace de replace pour la chaîne, mais les objets de type liste n'ont pas cette méthode. Cependant, des objets de types différents peuvent avoir la même méthode. Par exemple, la méthode index.

price.index("ItemC")
product1.index("e")

La méthode index existe à la fois dans le type liste et dans le type chaîne. Lorsque la méthode d'index est utilisée dans le type liste, l'index de l'élément de la liste est utilisé, et lorsqu'elle est utilisée dans le type chaîne, l'index du caractère dans la chaîne de caractères est utilisé. Obtenir En d'autres termes, selon le type d'objet, même la même méthode peut se comporter différemment.

4
#Au prix"ItemC"L'index est 4
1
#Au crayon"e"L'index est 1

Eh bien, juste un point avant de passer au chapitre suivant. Certaines méthodes vous permettent de modifier l'objet appelé. Essayez d'appeler la méthode d'ajout sur la liste de prix.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
price.append("ItemE")

append est une méthode pour ajouter un nouvel élément à la liste. Si vous regardez la liste de prix après avoir effectué les opérations ci-dessus, ce sera comme suit.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15, "ItemE"]

D'autre part, si vous souhaitez supprimer un élément de la liste, vous pouvez le supprimer avec une méthode appelée remove () de la même manière que append (). Vous pouvez également organiser la liste dans l'ordre inverse en utilisant la méthode appelée reverse () comme indiqué ci-dessous.

price.reverse()

Après avoir effectué l'opération ci-dessus, si vous essayez d'afficher la liste de prix avec impression (prix), vous pouvez voir que la liste est dans l'ordre inverse comme indiqué ci-dessous.

[1.15, "ItemD", 13, "ItemC", 2.5, "ItemB", 2, "ItemA"]

Vous devez garder cela à l'esprit, car certaines méthodes modifient le contenu de l'objet de cette manière.

3. Paquet

Vous connaissez maintenant les fonctions et méthodes Python. Ce sont des fonctionnalités assez puissantes et je pense qu'elles seront utilisées plusieurs fois à l'avenir. Cependant, si vous écrivez toutes les fonctions et méthodes nécessaires, la quantité réelle de code à écrire sera énorme et cela prendra du temps et des efforts. De plus, la gestion du code est difficile. Nous utilisons donc un package </ b> qui est une collection de scripts de code python. Il y a tellement de packages Python sur le net, en particulier NumPy </ b> qui gère efficacement les tableaux, Matplotlib </ b> qui est utilisé pour la visualisation des données et utilisé pour l'apprentissage automatique. Scikit-learn </ b> etc. sont souvent utilisés. Cependant, tous ces packages ne sont pas disponibles par défaut et vous devez les installer sur votre système et écrire la commande "Je veux utiliser ce package" comme code pour les utiliser. (Pour l'installation, vous pouvez utiliser pip </ b>, qui est un système de maintenance de package Python). Plus précisément, accédez à l'URL suivante et téléchargez le fichier get-pip.py. https://pip.pypa.io/en/stable/installing/ Accédez ensuite au terminal et exécutez python3 get-pip.py. Vous pouvez maintenant utiliser pip pour installer vos packages Python préférés. Dans le prochain article, je traiterai de l'un des packages, NumPy, en détail, mais ici, installons spécifiquement le package NumPy. Tout d'abord

pip3 install NumPy

Entrer. Vous devez maintenant utiliser les commandes python3 et pip3 pour indiquer au système que vous travaillez avec Python version 3. Maintenant que le package est installé, vous pouvez réellement commencer à l'utiliser dans votre script Python. Mais avant cela, vous devez importer le package ou le module spécifique du package. Cela peut être fait avec l'instruction d'importation. Pour importer l'intégralité du package NumPy, exécutez import NumPy comme suit:

import numpy

Une fonction couramment utilisée dans NumPy est array. Alors, comment utilisez-vous le tableau? En fait, si vous écrivez comme suit, une erreur se produira.

array([2, 2.5, 13, 1.15])
#Si vous écrivez comme ci-dessus, "Erreur de nom": name 'array'J'obtiens une erreur disant "n'est pas défini"

Cette fois, puisque la fonction de tableau est référencée à partir du package NumPy, il est nécessaire d'écrire comme suit.

numpy.array([2, 2.5, 13, 1.15])

Cependant, il est également difficile de taper «numpy». À chaque fois, vous pouvez donc utiliser as pour simplifier le nom lors de l'importation du package.

import numpy as np

Cela vous fera gagner beaucoup de temps en tapant "np." Au lieu de "numpy.".

Vous savez maintenant comment importer numpy. Cependant, si vous souhaitez utiliser diverses fonctions de numpy, vous pouvez l'importer comme ceci, mais si vous souhaitez utiliser uniquement la fonction de tableau parmi les différentes fonctions de numpy, il existe un moyen de réduire davantage la quantité de description.

from numpy import array

Et en important uniquement le tableau de numpy

array([2, 2.5, 13, 1.15])

Vous pouvez utiliser la fonction de tableau de numpy simplement en tapant. Vous n'avez plus besoin de taper «np». L'importation pour n'utiliser qu'une partie du package de cette manière est utile pour réduire la quantité de codage. Cependant, cela a aussi ses inconvénients, ce qui rend difficile de suivre le contexte de votre code. Par exemple, disons que vous travaillez avec un très long script comme celui-ci:

from numpy import array
……
price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
……
price_ext = price + ["ItemE", 2.5]
……
print(str(len(price_ext) + "elements in price_ext")
……
np_price = array(price_ext)
#Vous avez peut-être oublié que numpy a été importé à ce stade

J'importe numpy au tout début, mais comme ce code est si long, il est possible qu'un tiers lisant le code oublie que le tableau est le tableau de numpy au milieu. est. (D'un autre côté, si vous écrivez np.array (), vous pouvez instantanément comprendre que "c'est un tableau numpy".) Par conséquent, il est clair que l'importation de numpy en tant que np et l'écriture dans np.array () utilise numpy.

Vous savez maintenant comment importer. Pour référence, je vais également vous montrer comment importer uniquement les fonctions des sous-packages du package. Par exemple, supposons que vous ayez un package appelé scipy qui est utilisé pour l'analyse numérique, mais que vous avez un sous-package appelé linalg (utilisé pour calculer la matrice) et que vous souhaitez utiliser uniquement cette fonction appelée inv () (qui utilise la matrice inverse). C'est la fonction souhaitée). À ce stade, écrivez comme suit.

from scipy.linalg import inv

depuis "package". Nom de la fonction d'importation "Sous-package" </ b> Écrivez en utilisant des points (.).

Donc, pour résumer jusqu'à présent, écrivez un code pour trouver la circonférence et l'aire du cercle avec un rayon de 1. Le rapport de circonférence peut être appelé avec pi dans un package appelé math. La réponse est la suivante

#Définir le rayon
r = 1

#Importer des mathématiques
import math

#Circonférence(Diamètre x circonférence)Calculer
C = 2*math.pi*r

#zone(Rayon x rayon x circonférence)Calculer
A = math.pi*r*r

#Afficher le résultat du calcul
print("Circonférence: " + str(C))
print("zone: " + str(A))

Vous savez maintenant comment importer le package. La prochaine fois, j'aimerais écrire sur l'un des packages, NumPy.

Recommended Posts