Python foundation-15 module package library

15. Module package library

15.1 basic concepts

                     . To solve this problem, we will split it and put similar functions in the same file. Each file contains relatively little code. In Python, a. py file is called a module

The benefits of using the module are as follows:

  • 1. Improved code maintainability
  • 2. It improves the reusability of code. When a module is written, it can be referenced by other places.
  • 3. The module can also avoid naming conflicts such as function name, variable name and class name. Functions, variable names, class names with the same name can be placed in different modules, but conflicts with built-in function names should be avoided

Although    module solves the naming conflicts of function name, variable name and class name, there will be naming conflicts before the module. How to solve them? To solve the module naming conflict, Python introduces a method to organize modules by directory, which is called package

For example, now there are two py files, which are surpassA.py and surpassB.py , the corresponding module names are surpassa and surpassb. If these two module names conflict with other module names, you can package them to organize them into packages. The method is to select a top-level package name, such as surpass, and store it in the following form

surpass
  |- __init__.py
  |- surpassA.py
  |- surpassB.py

   after the package is introduced, as long as the package name at the top level does not conflict, you can ensure that the module name does not conflict. Then the corresponding module name is changed from the original module name to surpass.surpassA and surpass.surpassB .

1. Package notes: each package directory must exist__ init__.py file, otherwise Python will be treated as a normal directory, not a package.
2.__ init__ The content of. Py file can be empty or have corresponding code, which is also a module

                      

surpass
  |- __init__.py
  |- surpassA.py
  |- surpassB.py
  |- config
  |    |- __init__.py
  |    |- surpassC.py
  |    |- surpassD.py
  |- web
       |- __init__.py
       |- surpassE.py
       |- surpassF.py

The module names corresponding to the example are as follows:

  • surpassC: surpass.config.surpassC
  • surpassA:surpass.surpassA

   in Python, a library is a collection of modules with related functions. It can be divided into the following three forms:

  • Standard library: Python built-in Library
  • Custom library: self written
  • Third party Library: written or shared by others

                    

pip/pip3 install -U Library name

15.2 import module

   Python has many built-in modules, which can be called normally as long as the installation is completed. The common forms of import modules are as follows:

import module name
 import module name as alias ා when the module name is very long, it can simplify calling the entered module name
 import module name A, module name B, module name C,
from module nameimport function name / class name import the function or class in the specified module
 from module name import * ා import all contents in the specified module, but exclude variables, functions, etc. that start with an underscore

                   sys.path.append (module name), for example:

import sys
# Indicates that the path of the previous layer is added to the sys.path After adding, the interpreter will search the directory where the current module is located and sys.path Specify the path to find the module that needs to be import ed
sys.path.append("..")

The rules for importing modules are as follows:

  • 1. The built-in modules are imported first and ahead
  • 2. When importing a module, try to use as little as possible the name of the module from import*
  • 3. do not repeat the first mock exam. The Python will execute only once for multiple imported modules.

15.3 example code

person.py

class Person:

    def __init__(self,name,age):
        self._name=name
        self._age=age

    def getPerInfo(self):
        print(f"name is {self._name},age is {self._age}")

mulClass.py

class Student:

    def __init__(self, name, age,classNo):
        self._name = name
        self._age = age
        self._classNo=classNo

    def getPerInfo(self):
        print(f"name is {self._name},age is {self._age},class NO. is {self._classNo}")

class Worker:

    def __init__(self,name,occupation):
        self._name=name
        self._occupation=occupation

    def getWorkerInfo(self):
        print(f"name is {self._name},he/she is {self._occupation}")

class Teacher():

    def __init__(self,name,classNO):
        self._name=name
        self._classNo=classNO

    def getClassNo(self):
        print(f"teacher's name is {self._name},His/Her's class is {self._classNo}")


def testFunc(name):
    print(f"Hello, {name}")

main.py

import person
from mulClass import Student
from mulClass import testFunc

if __name__ == '__main__':
    person=person.Person("Surpass",28)
    person.getPersonInfo()
    student=Student("Surpass",18,"Class-1")
    student.getStudentInfo()
    testFunc("testFunc")

The output is as follows:

name is Surpass,age is 28
name is Surpass,age is 18,class NO. is Class-1
Hello, testFunc

Address: https://www.cnblogs.com/surpassme/p/13020585.html
This article is synchronously published on wechat subscription number. If you like my article, you can also pay attention to my wechat subscription number: woaitest, or scan the following QR code to add attention:

Keywords: Python pip

Added by maest on Sun, 31 May 2020 16:39:12 +0300