极客编程python入门-模块与包

模块

Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。

模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

格式

#!/usr/bin/python3# 文件名: using_sys.py import sys print('命令行参数如下:')for i in sys.argv:   print(i) print('\n\nPython 路径为:', sys.path, '\n')

1、import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。

2、sys.argv 是一个包含命令行参数的列表。

3、sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。

极客编程python入门-模块与包

使用方法

import module1[, module2[,... moduleN]

包是一种管理 Python 模块命名空间的形式,采用”点模块名称”。

比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。

就像在使用模块时一样,您不必担心不同模块之间的全局变量的交互,因此您不必担心不同库之间的模块名称以点模块名称的形式出现。

[En]

Just like when using modules, you don’t have to worry about the interaction of global variables between different modules, so you don’t have to worry about module names between different libraries in the form of point module names.

例子

sound/                          顶层包      __init__.py               初始化 sound 包      formats/                  文件格式转换子包              __init__.py              wavread.py              wavwrite.py              aiffread.py              aiffwrite.py              auread.py              auwrite.py              ...      effects/                  声音效果子包              __init__.py              echo.py              surround.py              reverse.py              ...      filters/                  filters 子包              __init__.py              equalizer.py              vocoder.py              karaoke.py              ...

建议

当您像这样编写代码时,代码中的变量会变得非常混乱。导入的同名函数不仅会覆盖之前的问题,还会让你在编写函数时不确定它来自哪里,代码的可读性会变得很差。

[En]

When you write code like this, the variables in the code become very confusing. Not only will the imported function of the same name override the previous problem, but also cause you to be unsure where it comes from when you write a function, and the readability of the code will become very poor.

事实上,不要偷懒。调用函数时,请按如下方式调用:

[En]

In fact, don’t be lazy. When you call a function, call it like this:

import modname1import modname2import modname3modname1.def1()modname2.def1()modname3.def1()

您不仅找不到同名的函数,而且还可以看到该函数的确切来源

[En]

Not only will you not be able to find the function with the same name, but you can also see exactly where the function comes from

如果您的库一次设置一个层,则如下所示:

[En]

If your library is set up one layer at a time, it looks like this:

import path1.path2.path3.modname1

那么你可以用as关键字给它重命名,以便于缩短代码宽度,维持可读性。

Original: https://blog.51cto.com/apple0/5576197
Author: 最爱大苹果
Title: 极客编程python入门-模块与包

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/500777/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球