python模块

什么是模块

为什么有模块

怎么使用模块

模块的定义

模块被引用时的执行步骤

  1. import foo 执行foo.py
  2. 产生foo.py的名称空间,将foo.py运行过程中产生的名字都丢到foo的名称空间中
  3. 在当前文件中产生的有一个名字foo,该名字指向2中产生的名称空间
  4. 之后的导入,都是直接引用首次导入产生的foo.py名称空间,不会重复执行代码

模块的引用

2、引用:

print(foo.x)

print(foo.get)

print(foo.change)

强调1:模块名.名字,是指名道姓地问某一个模块要名字对应的值,不会与当前名称空间中的名字发生冲突

x=1111111111111

print(x)

print(foo.x)

强调2:无论是查看还是修改操作的都是模块本身,与调用位置无关

import foo

x=3333333333

# foo.get()

foo.change()

print(x)

print(foo.x)

foo.get()

3、可以以逗号为分隔符在一行导入多个模块

建议如下所示导入多个模块

import time

import foo

import m

不建议在一行同时导入多个模块

import time,foo,m

  1. 导入模块的规范
  • python内置模块
  • 第三方模块
  • 程序员自定义模块
# import time
# import sys
#
# import 第三方1
# import 第三方2
#
# import 自定义模块1
# import 自定义模块2
# import 自定义模块3
  1. import 。。。 as 。。。
import foo as f # f=foo
f.get()

import abcdefgadfadfas
#
# abcdefgadfadfas.f1
# abcdefgadfadfas.f2
# abcdefgadfadfas.f3

import abcdefgadfadfas as mmm

mmm.f1
mmm.f2
mmm.f3
  1. 模块是第一类对象
    import foo
  2. 自定义模块的命名应该采用纯小写+下划线的风格
  3. 可以在函数内导入模块
def func():
    import foo
import
from x import b
  1. from a import b
  2. from a import b,c,d
  3. from a import *

循环引用

模块的查找优先级

内存(内置模块)>硬盘(按照sys.path中的文件路径查找)

sys.modules查看已经加载到内存中模块
sys.path.append(path)将模块文件夹路径添加到环境变量中

类型提示

posted @ 2022-11-17 01:26  转角90  阅读(14)  评论(0编辑  收藏  举报