本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:
相关内容:
- 什么是模块
-
模块的导入
- 模块的导入
-
自模块的导入
- 同级目录导入
-
不同级目录导入
- 目录内导入目录外
- 目录外导入目录内
- __name__
什么是模块:
在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个模块中的某个方法或类,那么我们就需要导入对应的模板。
【python有内置方法、类,所以有些方法我们并不需要导入模块】
模块的使用:模块.函数 , 模块.类
1
2
3
4
5
6
7
|
#函数
import math
print (math.sqrt( 3 ))
#类
import threading
a = threading.Thread()
print (a)
|
模块的导入:
-
模块导入:
- import 模块名
123#import 模块名
import
math
print
(math.sqrt(
9
))
- from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容
1
2
3
4
|
#from 模块名 import 类名、方法名
from collections import Iterable
print ( isinstance ( "abc" ,Iterable))
print ( isinstance ([ 1 , 2 , 3 ],Iterable))
|
- from…import导入的时候还能给导入的部分起个自定义的名字:如:from … import funcA as fa
-
自模块导入:
Python import 的搜索路径
1.在当前目录下搜索该模块
2.在环境变量 PYTHONPATH 中指定的路径列表中依次搜索 【可以从sys.path中获取】
1
2
3
4
5
6
7
8
9
10
11
12
|
import sys
print (sys.path)
- - - - - - - - - -
运行结果:
[ 'J:\HardWork\Code\python' ,
'J:\HardWork\Code\python' ,
'I:\python3\python36.zip' ,
'I:\python3\DLLs' ,
'I:\python3\lib' ,
'I:\python3' ,
'I:\python3\lib\site-packages' ]
|
3.在 Python 安装路径的 lib 库中搜索
- 同级目录导入:直接导入
不同级目录导入:将对应目录加入到sys.path中,再import
目录内的b导入目录外的c
目录结构:
c中内容:
b中如何导入c:
1
2
3
4
5
6
7
|
import sys,os
print (__file__) ##这是当前文件的绝对路径
parent_dir = os.path.dirname(__file__) ##获得当前文件的目录
pp_dir = os.path.dirname(parent_dir)
sys.path.append(pp_dir)
# print(sys.path)
import c #要导入c,必须将diff_dir加入sys.path中
|
目录外的c导入目录内的d
目录结构:
d中内容:
c中如何导入d:
1
|
from d2 import d
|
或:
1
|
import d2.d
|
结果:
__name__:
由于模块既可以被导入,也可以被直接运行,为了区分什么是直接运行时运行的内容,所以有了__name__:
当直接运行时,__name__是__main__:
1
2
3
4
5
6
7
8
9
10
11
|
print ( "import C done" )
print (__name__)
if __name__ = = '__main__' :
print ( "direct run" )
- - - - - - - - - - - - - - -
运行结果:
import C done
__main__
direct run
|
当用于导入时,__name__是当前导入的模块名,由于__name__不等于__main__,所以不会执行:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import sys,os
# print(__file__)##这是当前文件的绝对路径
parent_dir = os.path.dirname(__file__) ##获得当前文件的目录
pp_dir = os.path.dirname(parent_dir)
sys.path.append(pp_dir)
# print(sys.path)
import c #要导入c,必须将diff_dir加入sys.path中
- - - - - - - - - - - - - - - - - -
运行结果:
import C done
c
|
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://www.cnblogs.com/progor/p/8413274.html