Home > Article > Backend Development > How to understand Python modules in the simplest and most popular way?
To put it simply, a Python module is an executable file with a .py suffix, which is used to repeatedly call variables and functions.
For example, if you repeatedly need to read CSV files during the data analysis process, in addition to using ready-made library methods such as pandas, you can also write a module for calling .
# -*- coding: utf-8 -*- import csv desc = '这是csv读取函数' print(desc) def read_csv(path): with open(path, newline='') as csvfile: reader = csv.DictReader(csvfile) for i in reader: print(i)
You only need to save the above script as a .py file, and then you can import the read_csv function in it and call it directly in your code.
For example, I save the script as readcsv.py and store it in the current folder. When calling it in the new code, I only need to pass in the csv file path name to read the corresponding file.
from readcsv import read_csv read_csv("e:\test.csv")
Get the following results:
#This is a written module. You can call it anytime and anywhere without having to write it repeatedly in the code. Complex methods.
We see that after running the code, the constants of the module are directly used, and the functions of the module are also called, which involves the function definition of the module:
❝Python module ( Module), is a Python file ending with .py, containing Python object definitions and Python statements. ❞
The module is equivalent to an encapsulated toolbox, you only need to pass in the relevant parameters, You can use its functions.
Generally, large-scale Python code projects will have many modules to make the logic clearer.
In addition to importing through import, .py module files can also be run directly as scripts.
We switch to the directory where the script is located on the command line and enter:
python readcsv.py
to directly execute the corresponding code:
If you Add the if __name__ == "__main__": statement to the script code, then the code following the statement will only take effect when the script is executed directly, and will not be executed when the module is imported.
# -*- coding: utf-8 -*- import csv desc = '这是csv读取函数' print(desc) def read_csv(path): with open(path, newline='') as csvfile: reader = csv.DictReader(csvfile) for i in reader: print(i) if __name__ == "__main__": print("直接运行脚本时生效")
This is also a question that confuses many people. If __name__ == "__main__": What is the use?
__main__ always refers to the name of the current execution module (including the suffix .py) .
__name__ is a built-in variable. When the module is executed directly, __name__ is equal to the file name (including the suffix .py).
If the module is imported into other modules, the __name__ of the module is equal to the module name (excluding the suffix .py).
So when the script is executed directly, __name__ == "__main__" is true and the following code can continue to be executed.
When importing a module, __name__ == "__main__" is false, which is not true, and the following code cannot be executed.
This operation is often used to provide a convenient user interface for the module, or for testing (running the module as a script that executes a test suite).
The following are commonly used built-in modules in Python for reference.
The above is the detailed content of How to understand Python modules in the simplest and most popular way?. For more information, please follow other related articles on the PHP Chinese website!