说说 Python 存储在模块中的函数
可以将函数存储在被称为 模块 的独立文件中,然后再使用 import 语句,把模块导入到主程序,这样就可以在当前运行的程序文件中,使用模块中的代码咯O(∩_∩)O~
1 导入整个模块
首先创建模块。 模块是扩展名为 .py 的文件, 文件内容包含了我们要导入到程序中的代码。
import tags
tags.make_tags('世界美术名作二十讲 : 插图珍藏本', '艺术')
tags.make_tags('世界美术名作二十讲 : 插图珍藏本', '艺术', '艺术史')
运行结果:
book_name=世界美术名作二十讲 : 插图珍藏本
tags=(‘艺术’,)
book_name=世界美术名作二十讲 : 插图珍藏本
tags=(‘艺术’, ‘艺术史’)
Python 在读取这个文件时, 代码 import tags
会让 Python 会在后台打开文件 tags.py , 并将其中的所有函数都复制到这个程序中 。
注意: import 所指向的文件路径,是项目所在的根目录。所以如果 *.py 放在子目录中,那么必须在文件路径中,加上子目录路径。
我们只需要编写一条指定模块名的 import
语句, 就可以在程序中使用该模块中定义的所有函数啦 O(∩_∩)O~
2 导入模块中某个函数
我们还可以导入模块中的特定函数, 语法如下:
from module_name import function_name
如果需要从模块中导入任意数量的函数,那么可以用逗号来分隔函数名:
from module_name import function_name_0, function_name_1, function_name_2
from tags import make_tags
make_tags('世界美术名作二十讲 : 插图珍藏本', '艺术')
运行结果:
book_name=世界美术名作二十讲 : 插图珍藏本
tags=(‘艺术’,)
3 函数别名
如果要导入的函数名与程序中现有的名称发生重名, 或者原始函数名太长, 这时,我们就可以指定一个简短且独一无二的别名。
指定函数别名的语法为:
from module_name import function_name as alias
from tags import make_tags as make
make('世界美术名作二十讲 : 插图珍藏本', '艺术')
4 模块别名
给模块指定别名的语法为:
import module_name as alias
示例:
import tags as t
t.make_tags('世界美术名作二十讲 : 插图珍藏本', '艺术')
5 导入模块中的所有函数
使用星号( * ) 运算符可以让 Python 导入模块中的所有函数,语法如下:
from module_name import *
示例:
from tags import *
make_tags('世界美术名作二十讲 : 插图珍藏本', '艺术')
print_tags(['艺术史', '艺术'])
因为导入了每一个函数, 所以可以直接通过函数名称来调用模块中每一个函数。
注意: 使用第三方大型模块时, 最好不要采用这种导入方法: 因为如果大型模块中,有函数的名称与项目中所使用的名称相同, 那么可能导致意想不到的结果。 Python 在遇到多个名称相同的函
数或变量时, 最后一个函数或变量会覆盖前面所有定义的函数或变量。
6 最佳实践
只导入我们所需要使用的函数, 或者只导入整个模块并使用句点表示法。 这样能让代码变得更加清晰, 也更容易阅读与理解。