Maison développement back-end Tutoriel Python Guide technique pour la mise en œuvre du développement modulaire de scripts Python dans les systèmes Linux

Guide technique pour la mise en œuvre du développement modulaire de scripts Python dans les systèmes Linux

Oct 05, 2023 am 11:53 AM
linux python 模块化开发

Guide technique pour la mise en œuvre du développement modulaire de scripts Python dans les systèmes Linux

Guide technique pour la mise en œuvre du développement modulaire de scripts Python dans les systèmes Linux

Introduction :
Python est un langage de programmation de haut niveau facile à apprendre et puissant, largement utilisé dans le développement dans différents domaines. Dans les systèmes Linux, le développement modulaire de scripts Python peut améliorer efficacement la maintenabilité et la réutilisation du code et réduire les coûts de développement et de maintenance. Cet article présentera des directives techniques sur la façon d'utiliser Python pour implémenter le développement modulaire dans les systèmes Linux et fournira des exemples de code spécifiques.

1. Présentation du développement modulaire
Le développement modulaire consiste à diviser un grand programme en petits modules interdépendants, et à communiquer et interagir via les interfaces entre les modules. Il permet aux développeurs de se concentrer sur la conception et la mise en œuvre de chaque module, améliorant ainsi la lisibilité et la maintenabilité du code. Pour les scripts Python, un module peut être une fonction, une classe ou un fichier de script indépendant.

2. Créer un module

  1. Créer un fichier de module indépendant
    Dans les systèmes Linux, nous pouvons définir un module en créant un fichier de script Python indépendant. Par exemple, nous créons un fichier nommé "utils.py", qui définit certaines fonctions d'outils couramment utilisées, comme indiqué ci-dessous :
# utils.py

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

def multiply(a, b):
    return a * b

def divide(a, b):
    return a / b
Copier après la connexion
  1. Module d'importation
    Dans d'autres scripts Python, nous pouvons utiliser import< /code> mot-clé pour importer des modules déjà définis à utiliser dans le script actuel. Par exemple, nous créons un script nommé "main.py". Si nous voulons utiliser les fonctions définies dans "utils.py", nous pouvons les importer et les appeler de la manière suivante : <code>import 关键字来导入已经定义好的模块,以便在当前脚本中使用。例如,我们创建一个名为"main.py"的脚本,想要使用"utils.py"中定义的函数,可以通过以下方式导入并调用:
# main.py

import utils

print(utils.add(1, 2))        # 输出:3
print(utils.subtract(5, 2))   # 输出:3
print(utils.multiply(2, 3))   # 输出:6
print(utils.divide(10, 2))    # 输出:5
Copier après la connexion
  1. 模块的资料封装
    在模块中,除了函数之外,我们还可以定义变量和类,并通过模块访问它们。这有助于将相关的数据和行为封装在一个模块中。例如,我们在"utils.py"中定义一个常量和一个类:
# utils.py

PI = 3.1415926

class Circle:
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return PI * self.radius ** 2

    def circumference(self):
        return 2 * PI * self.radius
Copier après la connexion

在其他脚本中可以如下使用:

# main.py

import utils

print(utils.PI)                         # 输出:3.1415926

circle = utils.Circle(5)
print(circle.area())                     # 输出:78.5398185
print(circle.circumference())            # 输出:31.415926
Copier après la connexion

三、模块的文件组织
对于大型项目,一个模块可能不够,我们可以将相关的模块组织在同一个目录中,并提供一个入口文件。例如,我们创建一个名为"calculator"的目录,并将"utils.py"和"main.py"放在其中。

# calculator/utils.py

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

...

# calculator/main.py

import utils

...
Copier après la connexion

在Linux系统中,可以通过以下方式运行"main.py"脚本:

$ python3 calculator/main.py
Copier après la connexion

四、模块的测试
在开发过程中,我们经常需要对模块进行测试。Python提供了一些用于单元测试的框架和工具。例如,我们可以使用unittest库编写测试用例,并在模块中添加一个if __name__ == "__main__":

# utils.py

...

def divide(a, b):
    if b == 0:
        raise ValueError("除数不能为0")
    return a / b

if __name__ == "__main__":
    import unittest

    class UtilsTestCase(unittest.TestCase):
        def test_add(self):
            self.assertEqual(add(1, 2), 3)
        
        def test_subtract(self):
            self.assertEqual(subtract(5, 2), 3)
        
        def test_multiply(self):
            self.assertEqual(multiply(2, 3), 6)
        
        def test_divide(self):
            self.assertEqual(divide(10, 2), 5)
            self.assertRaises(ValueError, divide, 10, 0)

    unittest.main()
Copier après la connexion

    du module Encapsulation des données

    Dans un module, en plus des fonctions, on peut également définir des variables et des classes et y accéder via le module. Cela permet d'encapsuler les données et les comportements associés dans un module. Par exemple, nous définissons une constante et une classe dans "utils.py" :


    $ python3 utils.py
    Copier après la connexion
    Elle peut être utilisée dans d'autres scripts comme suit :

    rrreee

    3. Organisation des fichiers du module
      Pour les grands projets, un module peut ne pas suffire , nous pouvons organiser les modules associés dans le même répertoire et fournir un fichier d'entrée. Par exemple, nous créons un répertoire appelé « calculatrice » et y plaçons « utils.py » et « main.py ».
    1. rrreee
    2. Dans le système Linux, vous pouvez exécuter le script "main.py" de la manière suivante :
    3. rrreee
    4. 4 Test du module
    Pendant le processus de développement, nous devons souvent tester le module. Python fournit plusieurs frameworks et outils pour les tests unitaires. Par exemple, nous pouvons écrire des cas de test en utilisant la bibliothèque unittest et ajouter une condition if __name__ == "__main__": dans le module à exécuter lorsque le module est exécuté directement pour tester . 🎜rrreee🎜Dans les systèmes Linux, nous pouvons exécuter des tests des manières suivantes : 🎜rrreee🎜Résumé : 🎜L'utilisation de scripts Python pour le développement modulaire dans les systèmes Linux peut améliorer la maintenabilité et la réutilisabilité du code. Cet article présente la création de modules, l'importation de modules, l'encapsulation des données des modules, l'organisation des fichiers des modules et les tests des modules. Grâce à une pratique et une pratique continues, les développeurs peuvent devenir plus compétents dans l'utilisation des scripts Python pour le développement modulaire, améliorant ainsi l'efficacité du développement et la qualité du code. 🎜🎜Matériaux de référence : 🎜🎜🎜Documentation officielle Python : https://www.python.org/🎜🎜Documentation du test unitaire Python : https://docs.python.org/3/library/unittest.html🎜🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la plus utilisée de Linux? Quelle est la plus utilisée de Linux? Apr 09, 2025 am 12:02 AM

Linux est largement utilisé dans les serveurs, les systèmes intégrés et les environnements de bureau. 1) Dans le domaine du serveur, Linux est devenu un choix idéal pour héberger des sites Web, des bases de données et des applications en raison de sa stabilité et de sa sécurité. 2) Dans les systèmes intégrés, Linux est populaire pour sa personnalisation et son efficacité élevées. 3) Dans l'environnement de bureau, Linux fournit une variété d'environnements de bureau pour répondre aux besoins des différents utilisateurs.

Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Apr 08, 2025 pm 09:39 PM

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

Questions d'entrevue CENTOS: Ace Your Linux System Administrator Interview Questions d'entrevue CENTOS: Ace Your Linux System Administrator Interview Apr 09, 2025 am 12:17 AM

Les questions et réponses fréquemment posées à l'entretien CentOS comprennent: 1. Utilisez la commande yum ou dnf pour installer des packages logiciels, tels que SudoyuminInstallnginx. 2. Gérer les utilisateurs et les groupes via des commandes UserAdd et GroupAdd, telles que SudouserAdd-M-S / Bin / BashNewuser. 3. Utilisez Firewalld pour configurer le pare-feu, comme SudoFirewall-CMD - Permanent-Add-Service = HTTP. 4. Définissez les mises à jour automatiques pour utiliser Yum-Cron, telles que SudoyuMinInstallyum-Cron et configure applat_updates = Oui.

Comment utiliser Aws Glue Crawler avec Amazon Athena Comment utiliser Aws Glue Crawler avec Amazon Athena Apr 09, 2025 pm 03:09 PM

En tant que professionnel des données, vous devez traiter de grandes quantités de données provenant de diverses sources. Cela peut poser des défis à la gestion et à l'analyse des données. Heureusement, deux services AWS peuvent aider: AWS Glue et Amazon Athena.

Opérations clés de Linux: Guide du débutant Opérations clés de Linux: Guide du débutant Apr 09, 2025 pm 04:09 PM

Les débutants Linux doivent maîtriser les opérations de base telles que la gestion des fichiers, la gestion des utilisateurs et la configuration du réseau. 1) Gestion des fichiers: utilisez les commandes MKDIR, Touch, LS, RM, MV et CP. 2) Gestion des utilisateurs: utilisez des commandes UserAdd, Passwd, UserDel et UserMod. 3) Configuration du réseau: utilisez les commandes IFConfig, Echo et UFW. Ces opérations sont à la base de la gestion du système Linux, et les maîtriser peut gérer efficacement le système.

Comment afficher les mots de passe de la base de données dans Navicat pour Oracle? Comment afficher les mots de passe de la base de données dans Navicat pour Oracle? Apr 08, 2025 pm 09:33 PM

Navicat for Oracle ne prend pas en charge la visualisation de mots de passe de base de données pour des raisons de sécurité. Si vous oubliez votre mot de passe, vous pouvez le réinitialiser en utilisant les propres outils du système (tels que SQLPLUS) et avoir des autorisations suffisantes. Utilisez le mécanisme de réinitialisation du mot de passe de la base de données pour contacter l'administrateur de la base de données ou reportez-vous à la documentation officielle. Réinstallez la base de données de configuration (la plus approfondie mais la plus maladroite).

Méthode de Navicat pour afficher le mot de passe de la base de données SQLite Méthode de Navicat pour afficher le mot de passe de la base de données SQLite Apr 08, 2025 pm 09:36 PM

Résumé: Navicat ne peut pas afficher les mots de passe SQLite car: SQLite n'a pas de champs de mot de passe traditionnels. La sécurité de SQLite repose sur le contrôle d'autorisation du système de fichiers. Si le mot de passe du fichier est oublié, il ne peut pas être récupéré (sauf si la base de données est cryptée, la clé est requise).

Comment apprendre les bases de Linux? Comment apprendre les bases de Linux? Apr 10, 2025 am 09:32 AM

Les méthodes d'apprentissage Linux de base à partir de zéro incluent: 1. Comprendre le système de fichiers et l'interface de ligne de commande, 2. Master Basic Commandes telles que LS, CD, MKDIR, 3. Apprenez les opérations de fichiers, telles que la création et l'édition de fichiers, 4. Explorer une utilisation avancée telle que les pipelines et les commandes GREP, 5. Master Debugging Skills and Performance Optimimisation, 6. Amélioration continue des compétences par la pratique et l'exploration.

See all articles