python from import 讲解

一、模块&包简介

模块:所谓模块就是一个.py文件,用来存放变量,方法的文件,便于在其他python文件中导入(通过import或from)。
包(package): 包是更大的组织单位,用来组织区别管理多个模块文件。
import 用来导入模块
from 用于从模块中导入方法(全部或部分),也可用as 重命名导入的方法

二、import&from使用方法

1. import使用方法:

*import 模块 [as  别名模块]

*import 包.[N包].模块;

注:import 导入 最后一个必须是模块,而不能以包结尾

  1. a)导入单模块文件(import 模块 [as  别名模块])import导入单模块文件后,在import时会执行模块中的代码(从上到下)
  2. b)导入包中的模块(import 包.[N包].模块)import导入包中的模块时,首先会执行包下的__init__.py 注:__init__.py :用来给包做一些初始化的工作。可以为空,但必须要有
  3. c)导入 包.包.模块import导入多层包中的模块时,会执行各包下的__init__.py
  4. d)导入 包.包 出错 

2. from使用方法:

*from 包.[..包]   import 模块

*from 包.模块  import 方法

*from 模块 import 方法。

注:from 包 import *时,受__init__.py中的__all__影响,没有列出来的模块是没法导入引用的。

三.实例

from math import pi
print pi
 import math
 print math.pi 
from sys import argv,path #导入特定的成员
print('================python from import===================================')
print('path:',path)

如果你要使用所有sys模块使用的名字,你可以这样:

from sys import *
print('path:',path)
from com.gif.giftest import *  # 引入giftest.py 下的全部
from com.gif.giftest import add  # 只引入add函数
from com.gif.giftest import giftest  # 只引入giftest类

print(gif)  # giftest.py 模块下的gif变量
add(1, 2)  # 使用giftest.py 模块下add函数
giftest = giftest()  # 实例化giftest.py 模块的giftest类
giftest.minus(2, 1)  # 调用了giftest类的方法

猜你喜欢

转载自blog.csdn.net/yunxing323/article/details/111224808