16 Python学习之模块

模块

模块的定义:一个py文件就是一个模块,是封装语句的最小单位

模块被另一个模块导入时,其中的可执行语句(print、定格的for循环等)会立即执行

例1:

模块 model_file.py 的内容

a = 1
print('a=', a)

for i in range(5):
    print(i)
    
def func():
    print('function in model_file.py')

模块 test_file.py 的内容

import model_file				# 右键运行

运行结果:

a= 1
0
1
2
3
4

func函数不是可执行语句,所以没有输出,如果加了func(),就会输出

模块的特殊方法

详见特殊方法详解

模块的运行方式

  • 脚本方式:直接在终端用 python 模块名.py 的方式运行,或者在 pycharm中右键运行
  • 模块方式:被其他模块导入,为导入它的模块提供资源(变量,函数,类等)

模块的导入方式

  • 如果之前成功导入过某个模块,直接使用已经存在的模块

  • 内置模块的路径:

    Windows:安装目录的 Lib 目录中都是系统内置的模块,在 site-packages 中都是下载的第三方的模块

    Linux:/usr/lib64/python3.6

方式一:import

导入一个模块的所有成员,如果要一次性导入多个,用逗号分隔

语法:

导入一个:import 模块名

导入多个:import 模块名1, 模块名2, 模块名3, 模块名n

注意:

可以在模块名后使用 as 给导入的模块名取一个别名

例1:

import os, sys
import time as t, os as o

方式二:from import

从模块中导入指定的成员,如果要导入多个成员,用逗号分隔,如果要导入全部成员,用星号(*)

语法:

导入一个成员:from 模块名 import 成员

导入多个成员:from 模块名 import 成员1, 成员2, 成员3, 成员n

导入全部成员:from 模块名 import *

注意:

可以在成员名后使用 as 给导入的成员取一个别名

例2:

from time import time
from time import time as t, tzname as name
print(t())
print(name)

1596622197.6038888
('CST', 'CST')

import 和from import的区别

import导入的方式在调用的时候,需要在使用 模块名.成员名 的方式调用,不容易产生命名冲突

from import的导入方式可以直接使用,无需使用模块名,容易产生命名冲突,可使用 as 解决

相对导入

. 当前目录

.. 当前目录的父目录

... 当前目录父目录的父目录

原文地址:https://www.cnblogs.com/zcf-blog/p/13475208.html