自定义模块

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, "绝对路径")

自定义 > 内置 > 第三方

posted @ 2020-10-29 12:03  Ylinn  阅读(122)  评论(0)    收藏  举报