Cet article est partagé par la communauté Huawei Cloud « L'essence et les fonctionnalités avancées des fonctions et modules Python » par Lemony Hug.
Python est un langage de programmation puissant doté d'un riche ensemble de fonctions et de modules qui permettent aux développeurs de créer facilement des applications complexes. Cet article présentera l'utilisation de base des fonctions et des modules en Python et fournira quelques exemples de code.
1. Définition et appel de fonctions
Une fonction est un bloc de code réutilisable qui accomplit une tâche spécifique. En Python, nous utilisons des mots-clés pour définir des fonctions. def
def saluer (nom): """Il s'agit d'une simple fonction de message d'accueil""" print("Bonjour, " + nom + "!")
Ce qui précède est une fonction simple qui prend un paramètre et génère un message d'accueil. greet
name
Pour appeler une fonction, utilisez simplement le nom de la fonction suivi de parenthèses et transmettez les arguments (le cas échéant).
saluer("Alice")
Cela produira :
Bonjour Alice !
2. Paramètres de fonction
Les fonctions Python peuvent accepter plusieurs paramètres et prendre en charge les paramètres par défaut et les paramètres de mots-clés.
def ajouter (x, y = 0): """Cette fonction ajoute deux nombres""" retourner x + y
Dans l'exemple ci-dessus, le paramètre est un paramètre par défaut avec une valeur par défaut de . y
0
résultat = ajouter (3, 5) print(result) # Sortie 8 result = add(3) # Ne passez pas le deuxième paramètre, la valeur par défaut sera utilisée print(result) # Sortie 3
3. Importation et utilisation des modules
Un module Python est une collection de définitions et d'instructions Python, qui peuvent être importées via des mots-clés. import
#Importer le module mathématique dans la bibliothèque standard importer des mathématiques #Utiliser les fonctions dans le module mathématique print(math.sqrt(16)) # Sortie 4.0
En plus d'importer l'intégralité du module, vous pouvez également importer des fonctions spécifiques au sein du module.
#Importez la fonction sqrt depuis le module mathématique à partir de sqrt d'importation mathématique # Utiliser directement la fonction sqrt print(sqrt(25)) # Sortie 5.0
4. Créez des modules personnalisés
En plus d'utiliser les modules fournis par la bibliothèque standard Python, nous pouvons également créer des modules personnalisés.
Disons que nous avons un fichier appelé , qui définit une fonction simple. helper.py
# helper.py déf double(x): """Multipliez le nombre donné par 2""" retour x * 2
Pour utiliser ce module personnalisé dans d'autres fichiers Python, importez-le simplement.
#Importer un module personnalisé aide à l'importation # Utiliser les fonctions dans les modules print(helper.double(3)) # Sortie 6
Ce qui précède sont les méthodes d'utilisation de base et des exemples de code des fonctions et modules Python. Grâce à une utilisation raisonnable des fonctions et des modules, nous pouvons améliorer la réutilisabilité et la maintenabilité du code, développant ainsi des applications plus efficacement.
5. Fonction anonyme (fonction Lambda)
En plus d'utiliser des mots-clés pour définir des fonctions, Python prend également en charge les fonctions anonymes, également appelées fonctions Lambda. Les fonctions Lambda vous permettent de définir des fonctions simples dans une seule ligne de code. def
# Définir une fonction Lambda pour calculer la somme de deux nombres ajouter = lambda x, y : x + y # Appeler la fonction Lambda résultat = ajouter (3, 4) print(result) # Sortie 7
Les fonctions Lambda sont généralement utilisées lorsqu'une fonction simple est requise sans définir une fonction complète.
6. Fonctions intégrées
Python fournit de nombreuses fonctions intégrées qui font partie de l'interpréteur et peuvent être utilisées directement sans importer de modules.
# Utilisez la fonction intégrée abs() pour trouver la valeur absolue print(abs(-5)) # Sortie 5 # Utilisez la fonction intégrée len() pour obtenir la longueur de la liste print(len([1, 2, 3, 4, 5])) # Sortie 5
L'utilisation de fonctions intégrées rend l'exécution d'opérations courantes en Python plus pratique et efficace.
7. Avantages de la programmation modulaire
La programmation modulaire est un style de programmation qui divise un programme en modules indépendants, chacun axé sur une tâche ou une fonction spécifique. Ce style de programmation présente de nombreux avantages, notamment :
- Maintenabilité : le code modulaire est plus facile à comprendre et à maintenir car chaque module se concentre sur une fonctionnalité spécifique.
- Réutilisabilité : les modules peuvent être réutilisés dans différents projets pour éviter d'écrire du code similaire à plusieurs reprises.
- Évolutivité : de nouveaux modules peuvent être ajoutés ou des modules existants remplacés selon les besoins pour répondre aux besoins changeants.
En utilisant les fonctions et les modules de manière appropriée, nous pouvons obtenir un code plus modulaire, réutilisable et maintenable.
8. Fonctionnalités avancées des fonctions : Décorateurs
Un décorateur est une fonction spéciale qui peut être utilisée pour modifier le comportement d’autres fonctions. En Python, les décorateurs sont souvent utilisés pour ajouter des fonctionnalités supplémentaires telles que la journalisation, le profilage ou la vérification des autorisations.
#Définir une fonction de décorateur pour enregistrer les journaux d'appels de fonction journal def (fonction): def wrapper(*args, **kwargs): print(f"Appeler la fonction {func.__name__}, paramètres : {args}, {kwargs}") retourner la fonction (*args, **kwargs) emballage de retour # Appliquer le décorateur @enregistrer def ajouter (x, y): retourner x + y # Appeler la fonction décorée résultat = ajouter (3, 4) print(result) # Sortie 7
Dans l'exemple ci-dessus, log
la fonction est un décorateur qui accepte une fonction comme argument et renvoie une nouvelle fonction . La fonction se connecte avant d'appeler la fonction décorée, puis appelle la fonction d'origine et renvoie le résultat. wrapper
wrapper
9. Fonctionnalités avancées des fonctions : Générateurs
Un générateur est une fonction spéciale qui génère une séquence de valeurs plutôt que de les renvoyer toutes en même temps. Ce calcul paresseux économise de la mémoire et améliore les performances.
# Définir une fonction génératrice pour générer des nombres de Fibonacci déf fibonacci(n): une, b = 0, 1 pour _ dans la plage (n) : donner un une, b = b, une + b # Utiliser le générateur pour que ce soit dans Fibonacci (10) : print(num, end=" ") # Afficher les 10 premiers nombres de la séquence de Fibonacci
Les fonctions du générateur utilisent des mots-clés pour générer des valeurs, et chaque fois que la méthode du générateur est appelée, la fonction continue l'exécution à partir de l'endroit où elle s'est arrêtée pour la dernière fois jusqu'à ce que la suivante soit rencontrée . yield
next()
yield
10. Fonctionnalités avancées des fonctions : Récursivité
La récursivité est une technique de programmation dans laquelle une fonction s'appelle elle-même, souvent utilisée pour résoudre des problèmes pouvant être décomposés en sous-problèmes plus petits.
# Définir une fonction récursive pour le calcul factoriel def factoriel(n): si n == 0 : retour 1 autre: retourner n * factoriel(n - 1) # Utiliser des fonctions récursives résultat = factoriel(5) print(result) # Sortie 120
Dans l'exemple ci-dessus, factorial
la fonction s'appelle pour calculer la factorielle.
11. Programmation fonctionnelle
Python prend en charge le paradigme de programmation fonctionnelle, ce qui signifie que les fonctions peuvent être transmises en tant que variables, en tant qu'arguments à d'autres fonctions et même en tant que valeurs de retour des fonctions. Cette approche peut rendre le code plus concis et plus lisible.
# Définir une fonction qui double chaque élément de la liste def double_elements (numéros): return [num * 2 pour num en nombres] # Définir une fonction qui en ajoute un à chaque élément de la liste def incrément_elements (numéros): return [num + 1 pour num en nombres] # Définir une fonction qui applique une autre fonction à chaque élément de la liste def apply_function_to_elements(nums, func) : return [func(num) pour num en nums] # Utiliser la programmation fonctionnelle ma_liste = [1, 2, 3, 4, 5] doubled_list = apply_function_to_elements(ma_liste, lambda x : x * 2) print(doubled_list) # Sortie [2, 4, 6, 8, 10] Increased_list = apply_function_to_elements (ma_liste, lambda x : x + 1) print(incremented_list) # Sortie [2, 3, 4, 5, 6]
Dans l'exemple ci-dessus, apply_function_to_elements
la fonction accepte une fonction comme argument et applique la fonction à chaque élément de la liste.
12. Avantages de la programmation fonctionnelle
La programmation fonctionnelle présente de nombreux avantages, notamment :
- Simplicité : la programmation fonctionnelle permet souvent d'obtenir les mêmes fonctionnalités avec moins de code.
- Lisibilité : La programmation fonctionnelle met l'accent sur la combinaison et la transformation des fonctions, rendant le code plus facile à comprendre.
- Immuabilité : les données de la programmation fonctionnelle sont souvent immuables, ce qui signifie qu'il est plus facile de raisonner et de déboguer les programmes.
- Parallélisme : La programmation fonctionnelle encourage les fonctions pures, qui ne changent pas d'état externe et sont donc plus faciles à traiter en parallèle.
En utilisant le paradigme de programmation fonctionnelle de manière appropriée, nous pouvons écrire un code plus clair, plus concis et plus maintenable.
Résumer
Dans cet article, nous examinons en profondeur l'utilisation des fonctions et des modules en Python ainsi que certaines fonctionnalités avancées. Voici les points récapitulatifs de cet article :
-
Utilisation de base des fonctions : Nous avons appris à définir des fonctions, à transmettre des paramètres et à appeler des fonctions. Les fonctions en Python sont des blocs de code réutilisables qui accomplissent des tâches spécifiques.
-
Paramètres de fonction : nous avons introduit que les fonctions peuvent accepter plusieurs paramètres, y compris les paramètres par défaut et les paramètres de mots-clés. Cela rend la fonction plus flexible et peut être adaptée à différents scénarios d'utilisation.
-
Importation et utilisation de modules : Nous avons appris à importer des modules Python et à utiliser les fonctions et variables dans les modules. Les modules sont les éléments constitutifs des programmes Python qui aident à organiser et à réutiliser le code.
-
Fonctionnalités avancées des fonctions : nous abordons certaines des fonctionnalités avancées des fonctions, notamment les décorateurs, les générateurs, la récursivité et la programmation fonctionnelle. Ces fonctionnalités rendent les fonctions plus flexibles et puissantes, capables de répondre à divers besoins de programmation.
-
Avantages de la programmation modulaire : Nous avons discuté des avantages de la programmation modulaire, notamment la maintenabilité, la réutilisabilité et l'extensibilité. Une utilisation appropriée des fonctions et des modules peut améliorer l'efficacité et la qualité du code.
En étudiant cet article, vous devriez avoir une compréhension plus approfondie de l'utilisation des fonctions et des modules en Python, maîtriser certaines fonctionnalités avancées et être capable de les utiliser de manière plus flexible pour résoudre des problèmes pratiques. Continuez à apprendre et à explorer la programmation Python et vous serez en mesure d'écrire du code plus élégant et plus efficace.
Cliquez pour suivre et découvrir les nouvelles technologies de Huawei Cloud dès que possible~
Combien de revenus un projet open source inconnu peut-il rapporter ? L'équipe chinoise d'IA de Microsoft a fait ses valises et s'est rendue aux États-Unis, impliquant des centaines de personnes. Huawei a officiellement annoncé que les changements d'emploi de Yu Chengdong étaient cloués au « pilier de la honte FFmpeg » 15 ans. il y a, mais aujourd'hui il doit nous remercier—— Tencent QQ Video venge son humiliation passée ? Le site miroir open source de l'Université des sciences et technologies de Huazhong est officiellement ouvert à l'accès externe : Django est toujours le premier choix pour 74 % des développeurs. L'éditeur Zed a progressé dans la prise en charge de Linux. Un ancien employé d'une société open source bien connue . a annoncé la nouvelle : après avoir été interpellé par un subordonné, le responsable technique est devenu furieux et impoli, et a été licencié et enceinte. Une employée d'Alibaba Cloud publie officiellement Tongyi Qianwen 2.5 Microsoft fait un don d'un million de dollars à la Fondation Rust.