Python日常笔记(19) - 模块导入

模块

导入模块的方法
Import 模块名
From 模块名 import 模块名
From 模块名 import *

# 第一种导入模块开平方模块
import math
print(math.sqrt(9))
# 第二种导入模块开平方模块
from math import sqrt
print(sqrt(9))
# 第三种导入模块开平方模块
from math import *
print(sqrt(9))


定义模块的别名

# 定义别名
import math as a
print(a.sqrt(9))


模块的定义
模块的定义其实就是一个python文件,在python文件中定义功能的方法之后,在其他文件使用import导入就可以使用该模块的功能了

# 案例:

# 定义一个my_module.py文件
def sum(num1, num2):
   return num1 + num2
# 测试代码
if __name__ == "__main__":
   print(sum(1, 1))

# 调用

import my_module1
print(my_module1.sum(1, 2))


模块定位顺序
当导入模块,python解释器对模块位置的搜索顺序:
当前目录
如果不在当前目录,Python则搜索在shell变量PYTHONPATH的每个目录
如果找不到,Python会查看默认路径,UNIX,默认路径一般为/usr/local/lib/python/

模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程的默认目录。
注意:
自己的文件名不要和已有的模块名重名,否则导致模块功能无法使用
使用from模块名import功能的时候,如果功能名称重复,调用到的是最后定义或导入的功能
__all__列表
如果一个模块中有__all__变量,当使用from xxx import * 只能导入这个列表中的元素功能,其它功能将无法使用,使用import xxx 是可以的。

包将有联系的模块组织在一起,即放到同一个文件夹下,并且这个文件夹创建一个名称为__init__.py文件,那么这个 文件夹就称为包。
包的创建

注意:新建包之后,包内部会自动创建__init__.py文件,这个文件控制着包的导入行为。
创建号包之后,在包中创建2个python文件分别是module1和module2

代码分别为:

#module1.py中的代码
def module1():
   print("module1")


#module2.py中的代码
def module2():
   print("module2")

导入包并调用

第一种调用方式

import mypackage.my_module1 as a1
import mypackage.my_module2 as a2

a1.module1()
a2.module2()


第二种调用方式
需要在__init__.py文件中加入__all__ = [“文件模块名1”,“文件模块名1”],然后在导入并调用
all = [“my_module1”,“my_module2”]
调用代码


from mypackage import *
my_module1.module1()
my_module2.module2()

作者:阿超
原创公众号:『Python日常笔记』,专注于 Python爬虫等技术栈和有益的程序人生,会将一些平时的日常笔记都慢慢整理起来,也期待你的关注和阿超一起学习,公众号回复【csdn】优质资源。

发布了55 篇原创文章 · 获赞 16 · 访问量 9510

猜你喜欢

转载自blog.csdn.net/duchaochen/article/details/105054614