python基础 day15 自定义模块、常用模块random

一、自定义模块

  • 什么是模块?

    在python中封装语句的最小单位就是模块。一个.py文件就是一个模块

  • 什么是自定义模块?

    实际上就是定义一个.py文件

    包含:变量定义、可执行语句、for循环、函数定义。。。统称模块的成员

  • 模块的运行方式

    • 脚本方式:直接用解释器执行,或者在pycharm中运行。。。
    • 模块方式:被其他的模块导入。为导入它的模块提供资源。自定义模块被其他模块导入时,可执行语句会立即执行
  • __name__属性的使用

    在脚本方式运行时,__name__是固定的字符串:__main__
    在以模块方式导入时,__name__就是本模块的名字

  • 系统导入模块的路径

    • 内存中:如果之前成功导入过某个模块,直接使用已经存在的模块
    • 内置路径中:安装目录下/lib
    • sys.path:是一个路径的列表

    若上述路径都找不到,需要动态修改sys.path

    import sys
    import os
    sys.path.append(os.path.dirname('__file__') + '需要导入模块所在文件夹')
    
  • 新建一个模块的模板

    def main():
        pass
    
    if __name__ == '__main__':
        main()
    
  • 导入模块的多种方式

    • import XXX # 导入一个模块的所有成员
    • import aaa, bbb # 一次性导入多个模块的成员(不建议这种写法,最好分开写)
    • from xxx import aaa # 从某个模块中导入指定的成员
    • from xxx import aaa, bbb # 从某个模块中导入多个成员
    • from xxx import * # 从某个模块中导入所有成员
    • 使用别名避免成员名字冲突 :alias
    # 给导入模块的成员起别名
    from time import time as t
    t()
    
    # 给模块起别名
    import time as ti
    ti.time()
    
    • from xxx import *

      使用__all__控制导入的成员,__all__就是个列表

    from time import *
    __all__ = ['time']
    
  • 相对导入

    from 相对路径 import XXX
    # 相对路径:包含了点号的一个相对路径
    # 一个. 表示当前的路径
    # 两个. 表示的父路径
    

二、常用模块

  • random
import random

# 获取0~1随机一个浮点数
i = random.random()
print(i)

# 获取a~b中随机一个整数
i = random.randint(1, 2)
print(i)


# 获取a~b中随机一个浮点数
i = random.uniform(1, 5)
print(i)

# 将一个可变的数据类型中的元素打乱
l1 = [i for i in range(10)]
random.shuffle(l1)
print(l1)

# 从一个可迭代对象中随机抽取K个数据,组成一个新的列表
l1 = [i for i in range(10)]
l2 = random.sample(l1, 5)
print(l1)
print(l2)
原文地址:https://www.cnblogs.com/west-yang/p/12649698.html