自定义模块
1、自定义一个模块
导入(拿工具箱):import
import test
test.func()
模块分类:
1、内置模块(标准库):python解释器自带的.py文件(模块)
2、第三方模块(各种大神写的):需要额外下载的(并发编程)(www.pypi.org)
3、自定义模块(自己写的):不需要额外下载
模块:
分模块的好处:
1、避免写重复代码
2、可以多次利用
3、拿来主义
2、导入发生的事情
2.1 当前的名称空间中开辟一个新的空间(test)
2.2 将模块中所有的代码执行
2.3 通过模块名. 进行查找函数(工具)
print(locals())
import test
print(locals())
import test
print(test.name)
import test
print(test.func())
错误示例:
import test.py
print(test.py.func())
3、取别名:
3.1 使用别名能够使文件名更短
import test as t
print(t.name)
3.2 做一个兼容性
msg = """
1.扳手
2.螺丝刀
"""
choose = input(msg)
if choose == "1":
import meet as t
elif choose == "2":
import test as t
t.func()
from ... import ...
from test import func
func()
import 和 from 的区别
import 把工具箱拿过来
缺点:占用内存比较大
优点:不会和当前文件定义的变量或者函数发生冲突
import test
name='123'
print(test.name)
print(name)
from:
缺点:会和当前文件定义的变量或者函数发生冲突
from test import name
name = "123"
print(name)
解决冲突:
name = "123"
from test import name as n
print(name)
print(n)
优点:占用内存比较小
from ... import * :把工具拿走,留下工具箱(不建议使用)
name = "123"
from test import *
print(name) # pycharm飘红不一定是报错
__all__ = ["可以被导入的函数名和变量名"] :放在自定义模块里
from test import *
print(func)
print(name)
模块的两种用法:
1、脚本(在cmd中执行python test.py)
2、模块(不使用或者导入)
在当前模块中使用 __name__ 就是"__main__"
当模块被导入的时候 __name__ 就是被导入的模块名
导入路径:
当模块不在同一路径时查找相对路径: from 文件夹名.文件夹名 import 模块名
当模块不在同一路径时查找绝对路径:
from sys import path
path.insert(0, "绝对路径")
自定义 > 内置 > 第三方

浙公网安备 33010602011771号