第七章---模块

目录:

(0)介绍

(1)import 语句

(2)from … import 语句

(3)from … import * 语句

(4)__name__属性

(5)dir() 函数

(6)包

 

 

 

正文:

(0)介绍

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。

(1)import 语句

想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下:
import module1[, module2[,... moduleN]
当解释器遇到
import 语句,如果模块在当前的搜索路径就会被导入。 搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端:
support.py 文件代码
#!/usr/bin/python3
# Filename: support.py
def print_func( par ):
    print ("Hello : ", par)
    return

#test.py 引入 support 模块:
#test.py 文件代码
#!/usr/bin/python3
# Filename: test.py
# 导入模块
import support
# 现在可以调用模块里包含的函数了
support.print_func("Runoob")
以上实例输出结果: $ python3 test.py Hello : Runoob

(2)from … import 语句

Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:
from modname import name1[, name2[, ... nameN]]

(3)from … import * 语句

把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:
from modname import *

(4)__name__属性

说明: 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。

说明:__name__ 与 __main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格。

(A)建ballad.py文件,然后运行,结果如下:

运行结果:

 

 运行结果:(一样)

(B)然后新建一个tongueTwister.py,并且运行,结果如下:

 

结果如下:

 如果(B)中ballad.py文件为:

则结果为:(我们需求的)

 总结:

如果ballad.py文件(扩展到其他脚本都一样的),点运行,则print( __name__)为'__main__'。如果tongueTwister.py脚本点运行,则在ballad.py文件的print( __name__)结果为

ballad,(或tongueTwister.py加上print( ballad.__name__)结果为ballad)。

所以,这样做可以防止被调用模块执行不必要执行的函数。

(5)dir() 函数

内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回:
>>> import fibo, sys
>>> dir(fibo)
['__name__', 'fib', 'fib2']

(6)包

参考:https://www.runoob.com/python3/python3-module.html

posted @ 2020-10-19 22:19  山那边不是山  阅读(97)  评论(0编辑  收藏  举报