2021.3.17学习总结

一、模块

1.什么是模块,什么是包

一个py文件就是一个模块,文件名就是模块名(如果一个模块想要被其他模块使用,模块名必须是标志服且不是关键字)

一个包含 __ init __.py文件的文件夹就是一个包

2.使用其他模块中的内容

一个模块可以使用宁外一个模块中所有的全局变量,但是使用前需要先导入

导入模块的语法:

1)import 模块名 - 导入指定模块,导入后通过‘模块名.x’去使用模块中所有的全局变量

2)import 模块名 import 变量1,变量2,变量3,····· - 导入指定模块,导入后可以直接使用import后面所有变量

3)import 模块名 as 新模块名 - 导入模块并且对模块进行重命名,使用数据时使用新的模块名

4)from 模块名 变量1 as 新变量名1,变量2,变量3,···· - 对变量修改名字

5)from 模块名 import * - 导入模块中所有的全局变量

导入模块的原理:

不管是通过import 还是from import,导入模块的时候都会先进入指定模块,将模块中的代码全部执行

选择性的让模块中的代码在被导入的时候执行和不执行:

if __ name __ ==’__ mian __’:

​ # 这个if语句外面的代码在被导入时会执行,里面的代码被导入的时候不会被执行

​ pass

二、包的使用

1.导入包中的内容

1)import 包名 - 只有在自定义完 __ init __.py后才有用

2)import 包名.模块名 - 导入包中指定的模块,使用模块中的内容的格式:包名.模块名.内容

3)重命名:import 包名.模块名 as 新名字

4)from 包名 import 模块名1,模块名2······

5)from 包名.模块 import 变量1,变量2·········

注意:import在导入模块或者包的时候,会检查这个模块或者包之前是否已经导入,如果导入了,不会再重复导入

2.__ init __.py文件的作用

当导入包或者包中内容的时候,会自动执行包中的 __ init __ .py文件

1)给频繁使用的方法添加快捷导入的途径

2)导入包的时候直接导入包中所有的模块

3)以包为单位提供工具

三、系统中的模块

1.random模块
1)random.randint(m,n)   # 随机产生m到n的随机整数
2)random.random()    #   产生0~1的随机小数
3)random.shuffle(序列)   #  将列表中元素的顺序随机打乱
4)random.choice(序列)    # 从序列中随机获取一个元素
5)random.choices(序列,k=n)   #  从序列中随机获取n个元素

四、时间模块

1.time模块

1)什么是时间错
时间戳:用一个时间到1970年1月1日0时0分0秒(格林威治时间-与北京时间有八小时时差)的时间差来表示一个时间,单位是秒(用时间差来表示时间)
时间戳的优点:a.存储时间戳比存储字符串时间消耗的内存要小很多 b.加密和解密更容易

  • time()    -   获取当前时间(时间戳)
    t1 = time.time()
    print(t1)   # 1615966795.5532377(4字节~5字节)
    
  • time.localtime()   -   获取当前本地时间(结构体时间)
    time.localtime(时间戳)  -  将时间戳对应的时间转化为时间结构体
    
  • time.sleep(时间)   -   让程序睡眠指定时间,单位秒
    
2.datetime
  •  # 获取当前时间
    datetime.now()   #  2021-03-17 16:37:12.763867
    date.today()    # 2021-03-17
    
  • # 时间的加减操作
    print('10天前:',t5 - timedelta(days=10))
    # 20天前
    print('20天前:',t5-timedelta(days=20))
    # 1小时前
    print(f'1小时前:{t5-timedelta(hours=1)}')
    # 2小时后
    print(f'2小时后{t5+timedelta(hours=2)}')
    # 47小时
    print(f'47小时后:{t5+timedelta(hours=47)}')
    # 2小时30分以后
    print(f'2小时30分后:{t5+timedelta(hours=2,minutes=30)}')
    

五、hash摘要

1.hash 加密算法 - md5、sha

hash加密的特点:
a.不可逆:无法通过hash加密得到的密文获取到原数据
b.相同的数据通过相同的算法得到摘要(密文)是一样的
c.不同长度的数据通过相同的算法得到的摘要(密文)的长度一样

2.生成数据的摘要(加密)
  • 根据算法创建hash对象:hashlib.算法名()

    hash_obj = hashlib.md5()
    hash_obj1 = hashlib.sha1()
    
  • 添加原文 : hash对象.update(需要加密的数据)

    加密数据的类型必须是bytes(相当于Python中的二进制)

    hash_obj.update('123456'.encode())
    hash_obj1.update('123456'.encode())
    
  • 获取摘要(获取密文):hash对象.hexdigest()

    result = hash_obj.hexdigest()
    print(result)    # e10adc3949ba59abbe56e057f20f883e
    result = hash_obj1.hexdigest()
    print(result)    # 7c4a8d09ca3762af61e59520943dc26494f8941b
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: idea 2021.1.3是一个日期,代表了2021年1月3日。在这一天,人们可能会有各种各样的想法和主意。 对于个人来说,idea 2021.1.3 可能代表了新一年的开始,人们会思考过去一年的经历和教训,制定一些新的目标和计划。这些目标可以是个人成长方面的,比如学习新的技能、提升自己的健康和幸福感;也可以是职业发展方面的,比如争取晋升、寻找新的工作机会等。在这一天,人们可能会静下心来,思考自己想要实现的梦想和目标,为新的一年做好准备。 对于企业和组织来说,idea 2021.1.3 可能代表着新的商机和创新的机会。他们可能会进行年度总结,评估过去一年的业绩和挑战,同时也考虑未来的发展方向和策略。这一天,他们可能会召开会议,讨论新的产品或服务的创意和想法,寻找新的市场机会,制定新的营销计划。idea 2021.1.3 对于企业和组织来说,可能是一个充满希望和可能性的日子,他们积极寻求创新,为新的一年做好准备。 总之,idea 2021.1.3 代表了个人和组织在新的一年里思考和计划的开始。无论是个人的梦想和目标,还是企业的商机和创新,这一天都象征着新的开始和机遇。人们可以借此机会思考过去,为未来制定计划,追求更好的生活和事业。 ### 回答2: ideaiu-2021.1.3指的是一个特定的日期,根据提供的信息,我不能确定具体是什么事件或具体意义。然而,我可以尝试通过这个日期的年份和月份来进行一些猜测。 根据“ideaiu-2021.1.3”的格式,其中的“2021”表示年份,而“1”表示月份。因此,我们可以推测这个日期是2021年1月3日。然而,在这个日期上,没有足够的信息来了解具体发生了什么事件。 如果提供了更具体的信息,我可以给予更详细的解答。比如,如果这个日期是某个重要节日,我可以介绍该节日的背景和庆祝方式。或者如果这个日期是某个特殊事件的纪念日,我也可以提供相关的背景知识和历史资料。 总之,在缺乏详细信息的情况下,我无法提供关于“ideaiu-2021.1.3”更具体的回答。如果您能提供更多相关的信息,我将非常乐意为您提供更详尽的解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值