Day16

当做执行文件时
__name__ = "__main__"
当做模块被导入时
__name__ 等于文件名即模块名
```python
循环导入(模块的名称空间已经建立,但模块内导入语句后的名称未加入到名称空间中,导致另一个模块导入不到,报错)
解决循环的导入的两种方案:
1.名字放在导入前,避免找不到名称
2.导入放在函数内,函数在定义时不会执行,保证了模块内的名称创建完全
!!!!首次导入模块的三件事:1.创建模块的名称空间 2.执行模块内的代码 3.在执行文件中拿到模块中名字
再次导入时,直接调用上一次的结果,不会再创建模块的名称空间

1.包

什么是包:

包就是一个含有__init__.py的文件夹

为何要用包

导入包

1.创建名称空间
2.执行包下的__init__.py
3.
相对导入仅限于包内文件 互相导入
.当前文件夹
..上一级文件夹

2.json&pickle

什么是序列化

将内存中的数据类型转成另外一种格式

序列化:字典>>>序列化>>>其他格式>>存到硬盘

​ 硬盘>>>读取>>>其他格式>>>反序列化>>>字典

为何是序列化

1.持久保存程序的运行状态

2.数据的跨平台交互

json:

字符串

优点:跨平台性强

确定:不能识别所有python数据类型

强调:json格式不能识别单引号

import json
dic = {"k1":True,"k2":10,"k3":"egon"}
dic_json = json.dumps(dic)
dic_json = {"k1":true,"k2":10,"k3":"egon"}#json格式的字符串
type(dic_json) = str

pickle:

优点:能识别所有python类型

缺点:只能被python这门编程语言识别

import pickle
dic = {"k1":True,"k2":10,"k3":"egon"}
dic_pickle = pickle.dumps(dic)
dic_pickle #pickle模式的二进制
type(dic_json) = bytes

如何序列化

3.time模块

1.时间戳

time.time()

2.格式化字符串

time.strftime("%Y-%m-%d %H:%M:%s %p")

3.结构化的时间对象

time.localtime()
time.gmtime()
差8小时
time.localtime.tm_hour
time.localtime.tm_wday
time.localtime.tm_yday

datetime模块

time模块获取结构化时间麻烦:datetime.datetime.now()

时间戳与格式化时间无法 :datetime.datetime.fromtimestamp()

datetime.datetime.now() + datetime.timedelta()

random

随机

import random
random.random( ) 0到1之间的任意小数
random.randint(1,3) 1到3之间的整数
random.randrange(1,3) 顾头不顾尾,[1,2]
random.choice([1,"a",[1,2,3]])指定范围
random.sample([1,2,3,4,5],3)从指定范围取出一定数量
random.uniform(1,3) (1,3)之间的小数,可以指定范围
item = [1,3,5,7,9]
random.shuffle(item) 洗牌 def make_code(n):
s1 = str(random.randint(0,9))
s2 = chr(random.randint(65,90))
s3 = chr(random.randint(97,122))
res = s1+s2+s3
for i in range(n-3):
s = random.choice([str(random.randint(0,9)),chr(random.randint(65,90)),chr(random.randint(97,122))])
res += s
print(res)
return res
make_code(6)

3.re&正则表达式

Day16模块的更多相关文章

  1. python学习day16 模块(汇总)

    模块(总) 对于range py2,与py3的区别: py2:range() 在内存中立即把所有的值都创建,xrange() 不会再内存中立即创建,而是在循环时边环边创建. py3:range() 不 ...

  2. DAY16 模块和包的导入

    一.包 1.包的定义 包:就是一系列模块的结合体 2.重点 1.包中一定要有一个专门来管理包中所有模块的文件 2.包名:存放一系列模块的文件夹名字 3.包名(包对象)存放的是管理模块的那个文件的地址, ...

  3. day16 模块导入及环境变量

    """ 今日内容: 1.模块 2.模块的导入 3.环境变量sys.path 4.模块间的相互调用 """ """ ...

  4. day16模块,导入模板完成的三件事,起别名,模块的分类,模块的加载顺序,环境变量,from...import语法导入,from...import *,链式导入,循环导入

    复习 ''' 1.生成器中的send方法 -- 给当前停止的yield发生信息 -- 内部调用__next__()取到下一个yield的返回值 2.递归:函数的(直接,间接)自调用 -- 回溯 与 递 ...

  5. oldboy edu python full stack s22 day16 模块 random time datetime os sys hashlib collections

    今日内容笔记和代码: https://github.com/libo-sober/LearnPython/tree/master/day13 昨日内容回顾 自定义模块 模块的两种执行方式 __name ...

  6. day16,模块 , 用户管理系统 , 购物车程序 , 分页显示.

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.列举你常见的内置函数."""强制转换:int() / str() / li ...

  7. Python语言系列-05-模块和包

    自定义模块 #!/usr/bin/env python3 # author:Alnk(李成果) # 为什么要有模块?(内置函数不够用) # 和操作系统打交道 # 和python解释器打交道 # 和时间 ...

  8. day16 十六、包、循环导入、导入模块

    一.包的概念 包:一系列模块的集合体.包通过文件夹管理一系列功能相近的模块 重点:包中一定有一个专门用来管理包中所有模块的文件 包名:存放一系列模块的文件夹的名字 包名(对象)存放的是管理模块的那个文 ...

  9. day16——自定义模块、time、datetime、random

    day16 自定义模块 自定义一个模块 import :导入(拿工具箱) # import test # test.func() 导入发生的事情 在当前的名称空间中开辟一个新的空间 将模块中所有的代码 ...

随机推荐

  1. hashlib 实现加密

    实现代码 import hashlib # hashlib是一个python用于给数据加密的包,内有很多加密方式,包括md5,sha1, sha224, sha256, sha384, sha512等 ...

  2. iOS UITableView 解决估算行高和指定行高的矛盾

    喜欢交朋友的加:微信号 dwjluck2013 1.一般来说 在iOS 中若UITableViewCell 固定行高, 会通过 - (CGFloat)tableView:(UITableView *) ...

  3. Codeforces Round #497 (Div. 2) C. Reorder the Array

    Bryce1010模板 http://codeforces.com/contest/1008/problems #include <bits/stdc++.h> using namespa ...

  4. 实战:mysql写存储过程并定时调用

    有表:cap_meter_detail 字段:recordtime 情景:recordtime每半个小时记录一次,故一天会产生很很多数据,我们要做的是,每天00:00:00对cap_meter_det ...

  5. File "<stdin>" , line 1

    写了一个hello.py,仅有一句,print 'hello world', 运行 Python hello.py 出错,提示: File "<stdin>" , li ...

  6. android开发学习 ------- @SuppressWarnings 注解的使用

    @SuppressWarnings 该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. @SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法 ...

  7. vim编辑器高级应用

    1. vim主要模式介绍 命令模式.命令行模式.编辑模式 字符操作:i 当前插入, I行首插入, a当前字符之后插入,A行首插入, ESC退出当前模式 2. vim命令模式 3. vim插入模式 4. ...

  8. [BZOJ2434][Noi2011]阿狸的打字机 AC自动机+树状数组+离线

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2434 题目中这种多个串匹配的问题,一下子就想到了AC自动机.然后发现如果要建立AC自动机, ...

  9. Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数

    由于博主最近在做一个项目,需要采集不同传感器的数据,包括float型的HCHO,以及int型的PM2.5数据.但是最终向服务器上传的数据都得转换为char型才能发送,这是借鉴了一个github上面的实 ...

  10. Android 仿微信朋友圈添加图片

    github地址(欢迎下载Demo) https://github.com/zhouxu88/WXCircleAddPic 老习惯,先上图,着急用的朋友,直接带走Demo,先拿来用吧,毕竟老板催的紧, ...