Python à partir de zéro - Fonctions et modules

Bienvenue dans la série Python from Scratch. Dans la leçon précédente, nous avons appris à utiliser des variables et des structures de contrôle pour stocker et manipuler des données. Assurez-vous de le revoir si vous avez besoin d'un recyclage!


Didacticiel vidéo


Transcription

Dans le didacticiel d'aujourd'hui, nous allons examiner les fonctions - ce qu'elles sont, comment elles fonctionnent et comment créer les vôtres. Nous allons également examiner certaines des fonctions intégrées et leur utilisation efficace. Enfin, nous allons examiner la création et l’importation de modules..


Fonctions - Écrire votre propre

Les fonctions sont une étape importante à couvrir lorsque vous introduisez une complexité supplémentaire dans votre programmation. Si une variable est un conteneur nommé pour des données, une fonction est un conteneur nommé pour un bloc de code pouvant être exécuté à la demande. Ceci est utile si vous avez un programme qui exécute plusieurs fois une opération donnée. Au lieu de copier et coller le code pour effectuer cette opération chaque section où cela est nécessaire, vous pouvez simplement écrire une seule fonction pour le faire à votre place..

Une fonction est un conteneur nommé pour un bloc de code.

Il existe deux types de fonctions: celles que vous écrivez vous-même et que vous incluez dans votre code et celles qui sont incluses nativement dans Python, qui exécutent des procédures courantes, telles que la conversion d'un entier en chaîne ou la recherche de la longueur d'un objet. chaîne.

Nous allons maintenant étudier l’écriture d’une fonction simple et montrer comment elle peut être utile dans le code du monde réel. Ensuite, nous examinerons certaines des fonctions intégrées les plus importantes..

Un exemple simple

Imaginons que nous voulions créer un script pour un panier d'achat qui prenne en compte le coût de tous les articles de votre panier, puis les ajoute ensemble pour renvoyer un coût total. Pour écrire une fonction qui prend deux coûts, les additionner, puis imprimer le résultat, on peut faire quelque chose comme:

 # vos deux coûts pour additionner le coût1 = 15 coût2 = 20 def sumCart (): totalCost = cost1 + cost2 print totalCost sumCart ()

Pour définir la fonction, nous devons utiliser le 'def'mot-clé, puis le nom de la fonction. Ensuite, nous tapons deux parenthèses (nous y reviendrons plus tard), puis deux points. Après cela, tout le code que nous souhaitons insérer dans la fonction doit être mis en retrait, comme avec si, tandis que et pour boucles.

Pour que le code de la fonction soit exécuté, nous tapons le nom de la fonction, suivi de nouveau des deux parenthèses. Si vous exécutez ce code, vous verrez s'afficher le code '35', qui correspond à la sortie correcte..

Arguments

C'est formidable, mais pour le moment, nos fonctions sont un peu rigides - tout y est codé en dur. Par exemple, disons que nous voulons utiliser le sumCart fonctionnons ailleurs, dans une autre partie du programme, mais au lieu d’additionner le coût1 et le coût2 ensemble, nous souhaitons ajouter deux autres coûts qui étaient détenus dans des variables différentes. Nous devrons écrire une toute nouvelle fonction, même si cette nouvelle fonction serait exactement la même que la version actuelle, avec les noms des variables interverties - cela ne semble guère être une solution efficace..

Pour résoudre ce problème, nous utilisons des «arguments», et c’est à cela que servent les parenthèses. Un argument est un moyen de transmettre des données à une fonction lorsque nous ne savons pas dans quelle variable se trouveront les données. Si cela prête à confusion, prenons l'exemple que je viens de citer. Nous ajouterons deux coûts supplémentaires: cost3 et cost4.

Maintenant, nous allons ajouter deux arguments pour les deux éléments que nous voulons additionner. Les arguments sont définis entre parenthèses et un nom est attribué à chaque argument, avec une virgule les séparant. Un argument agit comme une référence temporaire aux données que vous avez transmises pendant l'exécution de la fonction..

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2): totalCost = item1 + item2 imprimer totalCost sumCart (cost1, cost2)

Quand on appelle le sumCart fonction, les deux variables que nous avons passées (cost1 et cost2) sont placées dans les arguments item1 et item2. Cela se produit toujours dans le même ordre que vous définissez les arguments - autrement dit, la première variable que vous transmettez est affectée au premier argument, la seconde au deuxième argument, et ainsi de suite pour autant d'arguments que votre fonction en prend..

Lorsque la fonction est exécutée, ce qui se passe réellement, c’est que ces deux arguments sont convertis en variables locales et se voient attribuer les valeurs des variables que vous transmettez à la fonction lorsque vous l’appelez - dans ce cas, la valeur de cost1 est mis dans la variable locale objet 1, et la valeur de cost2 est mis dans la variable locale item2. Cela signifie que vous pouvez facilement les utiliser dans la fonction.

Une autre façon de voir les choses est que, lorsque vous transmettez une variable en tant qu'argument, partout où le nom de cet argument apparaît dans la fonction, elle est remplacée par la variable que vous avez transmise. Ainsi, dans cet exemple, objet 1 est écrit à l'intérieur de la fonction, il est remplacé par cost1, et la même chose avec item2 et cost2.

Pour prouver que vous pouvez passer les chiffres de votre choix, si vous exécutez ce code, vous devriez maintenant recevoir la somme de cost3 et coût4:

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2): totalCost = item1 + item2 imprimer totalCost sumCart (cost3, cost4)

Arguments par défaut

Notez qu'une fonction peut accepter n'importe quel nombre d'arguments, mais rappelez-vous que lorsque vous appelez la fonction, vous devez lui transmettre le même nombre d'arguments que celui que vous avez défini, sinon vous recevrez une erreur. Il existe un moyen de contourner ce problème: vous pouvez définir une valeur par défaut pour tout argument, qui est utilisée dans les cas où vous ne fournissez pas de valeur..

Considérant notre code actuel, imaginons que nous voulions que le deuxième élément coûte 5 si nous ne donnons pas à la fonction une valeur différente. Ce n'est pas un scénario probable, mais cela va démontrer le concept.

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2 = 5): totalCost = item1 + item2 imprimer totalCost sumCart (cost1) sumCart (cost3, cost4)

Si nous exécutons ce code, vous verrez que, lors du premier appel, la sortie est 20, ce qui est bien (coût1 + 5). Cela n’affecte toutefois pas le comportement lorsque les deux arguments sont fournis.

Renvoyer des valeurs

Il y a une dernière fonctionnalité des fonctions que nous allons examiner aujourd'hui: renvoyer des valeurs. Nous avons appris à créer une fonction qui ne se préoccupe pas des entrées nécessaires, mais que faire si nous voulions stocker la réponse à 'totalCost' dans une variable plutôt que de l'imprimer? Peut-être que nous voulons faire est de calculer le coût des deux premiers éléments et de le stocker dans une variable, puis de faire de même avec les deux autres éléments et de stocker cette réponse dans une seconde variable. Avec la structure actuelle de notre fonction, nous ne pouvions pas le faire de manière lisible et facile à comprendre.

Tout comme la manière dont nous pouvons passer des arguments à une fonction pour ne pas avoir à coder en dur l’origine des données, nous pouvons faire la même chose avec la sortie. Je vais vous montrer un exemple - dans notre fonction précédente, je vais remplacer le mot "print" par le mot "return":

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2): totalCost = item1 + item2 retour totalCost cart1 = sumCart (cost1, cost2) cart2 = sumCart (cost3, cost4) print cart1 print cart2

De toute évidence, la fonction ne va plus afficher la réponse pour nous; elle va plutôt renvoyer la valeur de la variable totalCost à l'endroit d'où nous avons appelé la fonction. De cette façon, nous pouvons utiliser la réponse dans tous les contextes nécessaires. Maintenant, dans notre programme précédent, cela ne serait pas particulièrement utile, car nous ne spécifions nulle part où le stocker. J'ai donc également changé la façon dont nous appelons la fonction..

Nous devons fournir à Python une variable dans laquelle stocker la réponse, puis nous allons simplement définir cette variable égale à notre déclaration appelant la fonction. Lorsque la fonction retourne une valeur, cette valeur sera maintenant stockée dans la variable que nous avons spécifiée.


Fonctions - Intégré

Nous avons appris à créer nos propres fonctions et à les utiliser, mais certaines opérations sont effectuées assez souvent pour que Python les inclue dans n'importe quel programme. La façon dont vous les appelez est identique à celle que vous appelez vous-même, mais vous n’avez pas à les définir au préalable. Nous allons maintenant examiner brièvement les plus importantes, mais il convient de consulter la documentation Python car de nombreuses fonctions utiles sont disponibles, mais nous n’avons pas le temps de vous en occuper. à présent.

Reportez-vous à la documentation Python pour obtenir une liste de toutes les fonctions intégrées..

str ()

Tout d’abord, examinons l’une des fonctions les plus utiles de Python: la fonction de conversion de chaîne. Dans les scripts, il arrive souvent que vous utilisiez une variable contenant un nombre ou un autre type de données, mais que vous deviez convertir cette valeur en chaîne pour pouvoir en faire quelque chose - normalement pour l'afficher à l'écran..

Supposons que nous avons un nombre dans une variable et que nous souhaitons l’imprimer avec le message «Le nombre est», puis le nombre. Si nous écrivons:

 number = 10 print 'Le numéro est' + numéro

? alors nous allons rencontrer une erreur, parce que vous demandez à Python d’ajouter un nombre et une chaîne - ce qui n’a pas vraiment de sens. Ce que nous devons faire, c'est convertir le nombre 10 en chaîne 10. Si nous le faisons, Python comprendra que ce que nous essayons de faire n'est pas de trouver une somme, mais plutôt de concaténer les deux chaînes en une seule..

C'est là que le str La fonction intervient. Elle accepte une valeur et renvoie une chaîne pour la représenter. Si vous lui donnez un nombre, il vous retournera simplement le nombre mais sous forme de chaîne.

 number = 10 print 'Le nombre est' + str (nombre)

Maintenant que nous avons intégré le nombre dans une fonction de conversion de chaîne, le code fonctionne parfaitement. le str fonction ne doit pas prendre un nombre si - il peut également prendre d'autres valeurs, telles que Booléen:

 bool = True print 'La valeur est' + str (bool)

le str () fonction trouve la correspondance de chaîne la plus proche pouvant être trouvée pour la valeur 'vrai'et le renvoie, ce qui signifie que nous pouvons le sortir bien.

len ()

Une autre tâche courante pour les chaînes est de pouvoir en trouver la longueur et, là encore, Python a une fonction intégrée pour cela. Prenons la chaîne 'Hello World' et essayons de trouver sa longueur. Pour ce faire, nous allons avoir besoin de la fonction intégrée len () fonction, qui représente la longueur. Tout ce que nous avons à faire est de lui passer la chaîne que nous voulons utiliser, elle retournera le nombre de caractères qu'elle contient:

 string = 'Hello World' print len ​​(string)

le len () la fonction est capable de plus que cela, cependant. En réalité, il compte le nombre d’éléments dans l’objet que vous lui donnez. Si vous lui donnez une chaîne, il s’agit du nombre de caractères, mais vous pouvez également lui donner une liste ou un tuple, par exemple, et le résultat sera renvoyé. quantité d'articles dans cet objet particulier.

int ()

Pour continuer, vous obtenez souvent un nombre tel que 10.6 ou 3.896, qui n'est pas un entier, mais vous avez besoin d'un entier. La fonction intégrée à convertir en entier est appelée int (), et cela fonctionne assez prévisible. La fonction retournera la conversion entière de ce nombre. Notez que cette fonction n’arrondit PAS l’entrée au nombre entier le plus proche - elle jette très simplement tout ce qui suit le point décimal et vous renvoie le nombre. Donc, l'entrée 10.6 retournera 10, PAS 11. De même, 3.25 renverrait 3.

 nombre = 10.6 print int (nombre)

le int fonction peut également convertir une chaîne en un int Type de données. Par exemple, étant donné ceci, le résultat serait toujours 10:

 number = '10' print int (number)

Cependant, soyez prudent, car lors de la conversion d'une chaîne en un entier, int () ne traitera pas les décimales. Si vous le fournissez:

 number = '10 .6 'print int (number)

Ensuite, une erreur se produira, car l'entrée n'est pas un entier, elle ne sait donc pas comment la gérer..

intervalle()

Enfin, nous allons examiner rapidement le intervalle() une fonction; cela arrive étonnamment souvent lorsque vous commencez à effectuer des tâches plus complexes en Python et, bien que cela puisse sembler inutilement utile pour le moment, il vaut la peine de jeter un coup d'œil et de comprendre comment cela fonctionne. Plage est une fonction que vous utilisez pour créer une liste de nombres suivant un certain modèle. L’exemple le plus simple est que vous avez peut-être besoin d’une liste contenant tous les chiffres de 0 à 10. Plutôt que de les taper manuellement, vous pouvez utiliser intervalle fonction pour le faire en une seule ligne.

Range accepte un entier en tant que paramètre et, dans ce cas, nous le passerons 11. La fonction commence alors à zéro et crée une liste comptant à la hausse jusqu'à ce qu'elle atteigne un moins que le nombre que vous avez entré. nous mettons en 11, il va stocker les numéros 0 - 10 dans les numéros de liste:

 nombres = plage (11) imprimer (nombres)

Et si nous voulions imprimer les nombres cinq à dix à la place? Eh bien, éventuellement, nous pouvons inclure un autre argument pour le nombre de départ, ainsi les nombres cinq à dix seront imprimés:

 nombres = plage (5, 11) imprimer (nombres)

Enfin, si nous voulions imprimer uniquement les nombres impairs inférieurs à 10? Eh bien, range accepte une troisième valeur, qui correspond au montant à gravir à chaque étape. Donc, si nous commençons à 1, fixons le pas à deux et la limite supérieure à 11, nous devrions nous retrouver avec tous les nombres impairs de moins de dix:

 nombres = plage (1, 11, 2) imprimer (nombres)

En guise de note finale, chacun de ces chiffres peut également être négatif. Par conséquent, si vous souhaitez décompter DOWN de 10 à 1 au lieu de 10, vous pouvez définir le pas sur 1, la valeur de départ sur 10 et la limite sur 0. , ainsi:

 nombres = plage (10, 0, -1) imprimer (nombres)

Notez que range ne traitera que des entiers, alors assurez-vous de ne lui attribuer aucune valeur qui ne soit pas un entier, sinon vous lancerez une erreur..


Modules - Créer votre propre

Bon, nous avons maintenant couvert les fonctions; Passons au deuxième sujet de la leçon d'aujourd'hui: les modules. Si les fonctions sont des groupes de code, les modules sont des groupes de fonctions. Ils ont plus à faire, mais c'est une bonne façon de penser à eux pour l'instant.

Comme nous en avons discuté plus tôt, vous ne pouvez pas créer un programme complexe sans trier le code en fonctions, et à mesure que votre programme continue de se développer, même celles-ci deviennent difficiles à manier. Vous devez les classer dans un autre niveau hiérarchique. Ce sont des modules. Nous pouvons donc les résumer comme un outil structurel et organisationnel pour notre code.

Les modules sont assez faciles à créer. Ce sont simplement des fichiers Python, comme vos scripts habituels. Pour créer un module, écrivez une ou plusieurs fonctions dans un fichier texte, puis enregistrez-le avec un fichier. .py extension. Faisons-le maintenant avec un exemple. Ouvrez un nouveau fichier avec votre éditeur de texte ou votre IDE et créez une fonction. Je vais continuer avec l'exemple d'un panier d'achat de tout à l'heure et créer une fonction permettant de calculer la taxe sur les produits..

Créez un nouveau fichier dans votre IDE ou votre éditeur de texte et créons une fonction de calcul de la taxe sur un produit..

 def addTax (prix, taxe): nouveauPrix = prix / 100 * (100 + taxe) retour nouveauPrice

Si nous sauvegardons ce fichier avec un .py extension dans le même répertoire que notre autre script, nous pouvons l’utiliser comme module! Il est important de lui donner un nom descriptif pour que vous sachiez ce qu'il fait quand vous reviendrez plus tard, appelez celui-ci. finance.py


Importation de modules

Pour utiliser des modules, on peut utiliser soit le importation ou la de mot-clé. importation est le plus simple et le plus courant, alors essayons d’abord. Vous spécifiez ensuite le nom du module, qui est simplement le nom du fichier, sans le .py extension. Par exemple, avec notre la finance module dans le même dossier que notre script, nous pourrions écrire:

financement d'importation

? et nous aurions accès à toutes les fonctions du script. Nous pouvons alors les appeler comme nous le faisions auparavant. Vous pouvez également utiliser le de mot-clé, qui vous permet de sélectionner des fonctions spécifiques dans la bibliothèque, si vous connaissez celles dont vous avez besoin au préalable. Ceci est recommandé pour un module comportant des centaines de fonctions - cela permet de gagner du temps de chargement pour les fonctions qui ne sont même pas utilisées..

de finance import addTax

Vous pouvez en importer plusieurs en séparant leurs noms par des virgules.

depuis finance import addTax, calculer la réduction

Et vous pouvez même utiliser le caractère générique astérisque pour tout importer.

de la finance import *

Après avoir importé le module, pour utiliser les fonctions qu’il contient, vous devez utiliser le nom du module, suivi d’un point, puis du nom de la fonction..

 import finance print finance.addTax (100, 5)

Cela devrait entraîner 105 lorsque le script est exécuté. Un résultat simple, mais cela signifie que vous avez une fonction qui fonctionne!


Modules intégrés

Il y a beaucoup de modules intégrés, tout comme avec les fonctions intégrées. C’est là que Python excelle vraiment! Il faut ce qu'on appelle les? Piles incluses? approche.

Étant donné que Python possède une gamme aussi étendue de modules intégrés, il n’est pas possible de les couvrir tous en une seule leçon. Certaines sont assez obscures et il ne sert à rien d’enseigner une masse d’informations pour lesquelles vous n’auriez peut-être jamais une utilisation. Au lieu de cela, couvrons plusieurs des plus utiles.

  • au hasard
  • math
  • os
  • date / heure
  • urllib2

au hasard

Un bon pour commencer est au hasard , parce que c'est facile à comprendre et utile dans la plupart des scripts que vous allez écrire. Comme vous vous en doutez, ce module vous permet de générer des nombres aléatoires. Par exemple, lorsque vous utilisez Python pour créer un site Web, ils peuvent être utilisés pour rendre votre base de mots de passe plus sécurisée ou pour activer une fonctionnalité de page aléatoire. Si nous voulions un entier aléatoire, nous pouvons utiliser le randint fonction, comme si:

 importer une impression aléatoire random.randint (0, 5)

Cela produira 1, 2, 3, 4 ou 5. Randint accepte exactement deux paramètres: un nombre le plus bas et un nombre le plus élevé. Comme vous pouvez le constater, il comprend le nombre le plus élevé mais va de 1 au-dessus du nombre le plus bas. Si vous voulez un nombre aléatoire, vous pouvez utiliser la commande au hasard une fonction:

 importer random random.random ()

? qui génère un nombre aléatoire compris entre 0 et 1, pour une charge de décimales. Si vous voulez un plus grand nombre, vous pouvez le multiplier. Par exemple, un nombre aléatoire compris entre 0 et 100:

 importer random random.random () * 100

le au hasard module a également une fonction permettant de choisir un élément aléatoire dans un ensemble tel qu'une liste, appelé choix.

 importer random myList = [1, 8, True, 77, "Lorem", 482, "Ipsum"] random.choice (myList)

math

le math le module donne accès aux constantes et fonctions mathématiques.

 importer math math.pi #Pi, 3.14? math.e # Le numéro d'Euler, 2,71? math.degrees (2) # 2 radians = 114.59 degrés math.radians (60) # 60 degrés = 1,04 radians math.sin (2) #Sine de 2 radians math.cos (0.5) #Cosine de 0,5 radians math.tan ( 0,23) #Tangente de 0,23 radians math.factorial (5) # 1 * 2 * 3 * 4 * 5 = 120 math.sqrt (49) #Racine sur 49 sur 7

Le module contient beaucoup plus de fonctions, mais celles-ci sont parmi les plus utiles. Vous pouvez trouver une liste complète ici.

date / heure

Si vous avez besoin de travailler avec des dates et des heures, le date / heure le module est votre ami. Celui-ci est très utile pour le développement Web. Si vous créez un site Web avec des commentaires ou un blog, vous afficherez probablement leur âge ou l'heure à laquelle ils ont été créés..

Importons le module comme d'habitude:

 importer date / heure

Pour plus de commodité, vous pouvez également importer les composants de date et d'heure séparément, de sorte que vous n'aurez plus à taper autant plus tard..

 importer date et heure depuis date et heure d'importation date d'importation

Jetons un coup d'oeil à certaines des fonctions qu'il fournit:

 time.time () #Retourne le nombre de secondes écoulées depuis l'époque d'Unix, le 1er janvier 1970 date.fromtimestamp (123456789) #Convertit un nombre de secondes en objet date date.fromtimestamp (time.time ()) #Nous pouvons associer le deux pour obtenir un objet représentant l'heure actuelle date.fromordinal (10000) # Renvoie la date un nombre de jours donné depuis le 1er janvier de l'année 1 - le 28 mai 0018 dans ce cas

Il y a quelques fonctions utiles pour convertir les dates en chaînes utilisables. strftime vous permet de formater une chaîne en fonction de caractères spéciaux précédés d'un symbole de pourcentage. %ré représente le jour, par exemple.

 currentDate = date.fromtimestamp (time.time ()) #Créez une variable représentant l'heure actuelle currentDate.strftime ("% d /% m /% y") #Formatez la date comme le JJ / MM / AA - dans ce cas 09 / 07/11 currentDate.isoformat () #Format en tant que date standard ISO - en l'occurrence 2011-07-09

os

Le prochain module que nous examinons est os, qui fournit des fonctions qui vous permettent d’interfacer avec le système d’exploitation sous-jacent sur lequel Python est exécuté - que ce soit Windows, Mac ou Linux. Nous allons nous concentrer sur chemin sous-module. Il vous permet de manipuler et de rechercher les propriétés des fichiers et des dossiers sur le système. Il est donc le plus utile pour le développement Web. Vous aurez souvent besoin de gérer des fichiers, par exemple des téléchargements d'utilisateurs..

 depuis le chemin d'importation chemin path.exists ("/ Users / Giles") # Vérifie si le répertoire existe, dans mon cas, il s'agit de True path.exists ("/ Users / Bob") #False this time
 from os import path path.getatime ("/ Users") #Obtenir le dernier accès au répertoire donné en tant qu'horodatage path.getmtime ("/ Users") #Obtenir la dernière fois que le répertoire donné a été modifié en tant qu'horodatage

Ces horodatages peuvent être convertis en chaînes utilisables à l'aide du date / heure module - vous pouvez voir comment vous pouvez combiner des modules.

 depuis le chemin d'importation os path.getsize ("/ Users / Giles / Desktop / boot") #Retourne la taille d'un fichier en octets - 314400 octets ou 314 Ko pour ce fichier.

La dernière fonction du module os que nous allons examiner est joindre. Il combine deux chemins en un. Vous pensez peut-être: "Pourquoi ne puis-je pas simplement concaténer les chaînes?", Mais ce n'est pas aussi simple que cela. Sous Windows, le séparateur de chemin est une barre oblique inverse, sous Mac et Linux, il s'agit d'une barre oblique. Ce module réduit les problèmes de ce type et s'assure que vos scripts Pythons fonctionnent sur tous les systèmes..

 path.join ("C:", "Utilisateurs") #Retourne "C: / Utilisateurs"

urllib2

Pour terminer notre visite de la bibliothèque standard de Python, nous allons jeter un coup d’œil sur urllib2. Ce module vous permet d’interfacer avec le Web, c’est donc tout à fait pertinent pour nous. La fonction la plus utile qu'il fournit est urlopen, qui télécharge une page.

Vous l'utilisez comme suit:

 importer urllib2 urllib2.urlopen ("http://net.tutsplus.com")

Vous pouvez évidemment échanger la chaîne d'URL pour n'importe quel site. Cela téléchargera le contenu HTML de la page. Cela ne retournera pas une chaîne cependant, nous avons donc besoin de lire les données pour les extraire:

 importer urllib2 urllib2.urlopen ("http://net.tutsplus.com") .read (100)

Cela renverra les 100 premiers caractères de la source HTML de Nettuts +. Une fois que vous avez ces données, vous pouvez les trier et extraire les bits nécessaires dont vous avez besoin..


Derniers conseils

Si votre module se trouve dans un répertoire différent de celui de votre script, il est un peu plus difficile de les importer. Vous devez créer un fichier indiquant à Python que le dossier est un package. Par exemple, si vous avez un dossier, appelé sous-répertoire, dans le même dossier que votre script, puis votre module dans ce sous-répertoire, vous devrez créer un fichier appelé __init__.py dans le même dossier que le module. Ce fichier peut être vide. Ensuite, à partir de votre script, vous l'importeriez:

% le revoir si vous avez besoin d'un recyclage!


Didacticiel vidéo


Transcription

Dans le didacticiel d'aujourd'hui, nous allons examiner les fonctions - ce qu'elles sont, comment elles fonctionnent et comment créer les vôtres. Nous allons également examiner certaines des fonctions intégrées et leur utilisation efficace. Enfin, nous allons examiner la création et l’importation de modules..


Fonctions - Écrire votre propre

Les fonctions sont une étape importante à couvrir lorsque vous introduisez une complexité supplémentaire dans votre programmation. Si une variable est un conteneur nommé pour des données, une fonction est un conteneur nommé pour un bloc de code pouvant être exécuté à la demande. Ceci est utile si vous avez un programme qui exécute plusieurs fois une opération donnée. Au lieu de copier et coller le code pour effectuer cette opération chaque section où cela est nécessaire, vous pouvez simplement écrire une seule fonction pour le faire à votre place..

Une fonction est un conteneur nommé pour un bloc de code.

Il existe deux types de fonctions: celles que vous écrivez vous-même et que vous incluez dans votre code et celles qui sont incluses nativement dans Python, qui exécutent des procédures courantes, telles que la conversion d'un entier en chaîne ou la recherche de la longueur d'un objet. chaîne.

Nous allons maintenant étudier l’écriture d’une fonction simple et montrer comment elle peut être utile dans le code du monde réel. Ensuite, nous examinerons certaines des fonctions intégrées les plus importantes..

Un exemple simple

Imaginons que nous voulions créer un script pour un panier d'achat qui prenne en compte le coût de tous les articles de votre panier, puis les ajoute ensemble pour renvoyer un coût total. Pour écrire une fonction qui prend deux coûts, les additionner, puis imprimer le résultat, on peut faire quelque chose comme:

 # vos deux coûts pour additionner le coût1 = 15 coût2 = 20 def sumCart (): totalCost = cost1 + cost2 print totalCost sumCart ()

Pour définir la fonction, nous devons utiliser le 'def'mot-clé, puis le nom de la fonction. Ensuite, nous tapons deux parenthèses (nous y reviendrons plus tard), puis deux points. Après cela, tout le code que nous avons w