112.模块导入

Posted kangwenju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了112.模块导入相关的知识,希望对你有一定的参考价值。

模块导入

Python中的模块导入分为两种方式:import导入 或者 from - import 导入。

import

如果希望从某一个模块中,是一次性把模块中所有的全局变量、函数、类全部导入,就可以使用 import 的方式。

导入模块语法格式:

import 模块名1, 模块名2 
或者
import 模块名1
import 模块名2

使用模块中全局变量、函数、类语法格式:
模块名.全局变量名 | 模块名.函数名 | 模块名.类名
示例:

import hm_itcast, random

# 全局变量
print(hm_itcast.name)

# 函数
ret = hm_itcast.add2num(10, 20)
print(ret)

#
p = hm_itcast.Person()
print(p)

from-import

如果希望从某一个模块中,导入部分全局变量、函数、类,就可以使用 from-import 的方式。

导入模块语法格式:

from 模块名1 import 全局变量名, 函数名
from 模块名2 import 类名

使用模块中全局变量、函数、类语法格式:
全局变量名 | 函数名 | 类名
示例:

from hm_itcast import name, add2num

# 全局变量
print(name)

# 函数
ret = add2num(10, 20)
print(ret)

from-import *

如果希望从某一个模块中,导入全部全局变量、函数、类,但是还不想在使用的时候书写模块名,就可以使用 from-import * 的方式。

导入模块语法格式:

from 模块名 import *

使用模块中全局变量、函数、类语法格式:
全局变量名 | 函数名 | 类名
示例:

from hm_itcast import *

# 全局变量
print(name)

# 函数
ret = add2num(10, 20)
print(ret)

#
p = Person()
print(p)

这种方式不推荐使用,因为全局变量、函数、类重名并没有任何的提示,出现问题不好排查。

as的作用

如果使用import 模块名 方式导入模块,如果被导入的模块名过长的时候,可以使用 as 指定模块的别名,以方便在代码中的使用。

示例:

import hm_itcast as hm_it

# 全局变量
print(hm_it.name)

# 函数
ret = hm_it.add2num(10, 20)
print(ret)

#
p = hm_it.Person()
print(p)

如果使用 from 模块名 imoport 全局变量名,函数名,类名 方式导入模块, 如果被导入的全局变量、函数、类和本模块中的全局变量、函数、类的名字重名的时候,可以使用 as 指定全局变量、函数、类的别名。

示例:

from hm_itcast import name as my_name

# 全局变量
print(my_name)

例子:

# 01:import
# 是把被导入的模块中的全局变量 | 函数 | 自定义类 全部导入
# import random
# #  格式: import 模块名
# import hm_itcast
# 或者
# import random, hm_itcast
#
#
# # 使用格式: 模块名.全局变量 | 函数 | 自定义类
# # 全局变量
# print(hm_itcast.name)
# # 函数
# print(hm_itcast.add2num(10, 11))
# # 自定义类
# print(hm_itcast.Person())

# 02: from-import
# 选择性导入
# 格式: from 模块名 import 对应的元素名
# from hm_itcast import name, add2num
#
# # 使用格式:全局变量 | 函数 | 自定义类
# print(name)
# print(add2num(10, 20))

# 03:from-import *
# 全部导入
# 格式: from 模块名 import *

# from hm_itcast import *
# 一般不建议使用. 会造成 变量名 函数名 类名 重名  报错不好查询
# 使用格式:全局变量 | 函数 | 自定义类
# print(name)
# print(add2num(10, 20))
# print(Person())

# 04: as的作用 起别名
# 01: 导入的模块名名字较长
# import hm_itcast as hm_it
# print(hm_it.name)
# 02:
from hm_itcast import name as my_name
# # 全局变量
# my_name = "小明"
# # 分别可以打印 自定义模块 和 小明
# print(name)
# print(my_name)

# 全局变量
name = "小明"
# 分别可以打印 自定义模块 和 小明
print(my_name)
print(name)

 

以上是关于112.模块导入的主要内容,如果未能解决你的问题,请参考以下文章

Python 常用模块学习

有条件地导入 python 类的片段

Python学习(22):模块

JMeter:逻辑控制器_模块控制器(Module Controller)

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

python中的模块