Day13 Python学习笔记

Day13_模块与包的使用

模块的使用

  1. 什么是一个模块 - python中一个py就是一个模块
  2. 怎么在一个模块中使用另一个模块中的内容(内容包含数据、函数、类等)
"""
注意:1)如果要在一个模块中使用另一个模块中的内容,被使用的模块的模块名必须是标识符并且不是关键字
     2)一个模块中只有全局变量才能被其他模块使用
     3)其他模块只有在被导入以后才能使用
"""
  1. 怎么导入模块
"""
1)import 模块名 - 导入指定模块,导入后可以通过'模块名.变量'的方式使用被导入的模块中所有的全局变量
2)from 模块名 import 变量1,变量2,变量3,...  - 导入指定模块中的指定变量,导入后直接使用指定变量
3)from 模块名 import * - 导入指定模块中所有的变量,导入直接使用
4)重命名:
    import 模块名 as 新模块名  -  给模块重命名,重命名后使用新的名字来代替原模块名
    form 模块名 import 变量1 as 新变量1,变量2 as 新变量2,变量3,...
"""
  1. 导入模块的原理
"""
执行代码的时候,如果遇到import或者from—import导入模块的时候,系统会自动进入指定模块,将模块中的代码全部执行一遍。
"""
  1. 重复导入
"""
python导入模块的时候会自动检测被导入的模块是否已经导入过,如果导入过不会重复导入,
(在任何位置需要任何模块的时候直接导,不需要有任何重复导入的负担。)
"""
# 这个if语句中的代码在模块被直接运行的时候会执行,在被别的模块导入的时候不会执行。
# if __name__ == '__main__':
# 原理:每个模块中都有__name__的默认值py文件的文件名。当执行运行某个模块的时候,
# 这个模块__name__会自动变为__main__,没有被执行运行的模块的__name__都是文件名。

包的使用

  1. 什么是包
  • 包就是包含(init.py)文件的文件件。包是专门用来对模块进行封装。
  1. 包的使用
"""
1)import 包.模块
2)import 包.模块 as 新名字
3) from 包 import 模块1,模块2,...
4) from 包.模块 import 变量1,变量2,...
"""
  1. 导入包中内容的原理
  • 通过包导入模块或者模块内容的时候,系统会先执行包中的__init__.py文件,再执行包中的文件。

random模块

  1. 随机整数
  • random.randint(m,n) - 产生m到n的随机整数
  1. 随机浮点数
  • random.random() - 产生0~1的随机小数:[0, 1)
  1. 随机打乱列表中元素的顺序
  • random.shuffle(列表)
  1. 随机抽取一个元素或者N个元素(有放回的)
  • random.choice(序列) - 随机获取序列中的一个元素
  • random.choice(序列,k = N) - 随机获取序列中的N个元素
  1. 产生唯一文本信息
import uuid
print(uuid.uuid1())     #5210c338-b488-11eb-919e-74d02be5a35d
# print(uuid.uuid3())
print(uuid.uuid4())     #a4d6b2e2-7354-41aa-a743-9d3f639279b4

时间相关模块

  1. 时间戳
  • 时间戳是通过保存某个时间点到1970年1月1日0时0分0秒(格林威治时间)的时间差(s)
  • 保存时间戳比保存字符串的时间更节约内存
  1. import time - 导入时间模块
  • time.time( ) - 获取当前时间的时间戳

  • time.localtime() - 获取当地时间,返回的是结构体时间

    time.localtime(时间戳) - 将时间戳转换为当地结构体时间

  • time.sleep(N) - 睡眠指定时间(单位是秒)

  1. from datetime import datetime ,time,date,timedelta - 导入datetime模块中相关函数

    1. 获取当前时间
    • datetime.now( ) - 获取当前时间,需要将该数据赋值给变量才能保存
    • date.today( ) - 获取当天日期
    1. 获取时间对应的时间戳
    • datetime对象.timestamp() - 获取时间对象对应的时间戳
    1. 字符串时间转换成时间对象
    • datetime.strptime(时间字符串,时间格式字符串)
    • datetime.strftime(时间格式字符串,时间对象)
t_str = '2015-3-4 8:30:25'
t4 = datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')
#时间格式字符串对应字典{ % Y: 年, % m: 月, % d: 天, % H: 时, % M: 分, % S: 秒}
  1. 日期的加减操作
t_str = '2015-12-31 23:59:59'
t7 = datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')
print(t7 + timedelta(seconds=1))
print(t7 - timedelta(seconds=1))
print(t7 + timedelta(weeks=1))
上一篇:Java-day13-接口和内部类


下一篇:JavaScript课程——Day13(4、无缝轮播图)