day15 学习小结

一、模块的四种模块

1.什么是模块

模块是一系列功能的集合体,可以看成是一堆函数的集合体。

2.自定义模块

自定义代码,如果你自己写一个py文件,在文件内写入一堆函数,则它被称为自定义模块,即使用python编写的.py文件

3.第三方模块

就是pip安装的模块,已被编译为共享库或DLL的C或C++扩展

4.内置模块

python解释器启动自带的模块,是使用C编写并链接到python解释器的模块

5.包

把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)

二、import和from。。。import。。。

1.import做了哪些事情

import time
  1. 开辟内存空间,内存空间命名为time
  2. 把time.py中的所有代码读入名称空间,然后运行
  3. 通过time.方法名使用time模块中的方法

优点:永不冲突

缺点:每次导入多输入几个字符,非常麻烦

2.from。。。import。。。做了那些事

from time import sleep
  1. 开辟内存空间,内存空间命名为time
  2. 把time.py中的所有代码读入名称空间,然后运行
  3. 把sleep()读入import和from...import.py中,因此可以直接使用方法名

优点: 少输入几个字符

缺点: 容易发生冲突

3.导入多个功能

使用多个方法:

from time import sleep, time  # 特定导入一些功能

导入非常多的方法

from time import *  # *导入了所有的功能

三、循环导入

就是两个文件互相将对方作为模块文件调用,你调用我,我调用你,你再调用我。。。反反复复,子子孙孙无穷匮也

# m1
x = 10
from m2 import y

print('m1:', x, y)
# m2
y = 20
from m1 import x

print('m2:', x, y)

执行m2:

m2: 10
m1: 20
m2: 10

我们发现:模块永远只会开辟一次,只要是第二次调用,就忽略开辟空间语句执行下面的代码。

四、模块的搜索路径

内存 --> 内置 --> 自定义

导入模块时查找模块的顺序是:

  1. 先从内存中已经导入的模块中寻找
  2. 内置的模块
  3. 环境变量sys.path中找

五、python文件的两种用途

python文件总共有两种用途,一种是执行文件;另一种是被当做模块导入。

编写好的一个python文件可以有两种用途:

  1. 脚本,一个文件就是整个程序,用来被执行
  2. 模块,文件中存放着一堆功能,用来被导入使用、
# aaa.py

x = 1


def f1():
    print('from f1')


def f2():
    print('from f2')


f1()
f2()
# run.py

import aaa

如果直接运行run.py会直接运行aaa.py中的f1()f2(),但是如果我们在aaa.py中加上if __name__ == '__main__':这句话,则可以防止运行run.py时执行f1()f2()。因为当aaa.py被直接执行,即当做执行文件的时候__name__ == '__main__'; 在aaa.py被当做模块直接运行的时候__name__ == 'aaa'。由此可以让aaa.py在不同的场景下有着不同的用法。

# aaa.py

x = 1


def f1():
    print('from f1')


def f2():
    print('from f2')


if __name__ == '__main__':
    f1()
    f2()
# run.py

import aaa

六、pyinstaller模块

这个模块可以把py文件转换成exe文件

转载于:https://www.cnblogs.com/bowendown/p/11592828.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值