Day16模块
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模块的更多相关文章
- python学习day16 模块(汇总)
模块(总) 对于range py2,与py3的区别: py2:range() 在内存中立即把所有的值都创建,xrange() 不会再内存中立即创建,而是在循环时边环边创建. py3:range() 不 ...
- DAY16 模块和包的导入
一.包 1.包的定义 包:就是一系列模块的结合体 2.重点 1.包中一定要有一个专门来管理包中所有模块的文件 2.包名:存放一系列模块的文件夹名字 3.包名(包对象)存放的是管理模块的那个文件的地址, ...
- day16 模块导入及环境变量
""" 今日内容: 1.模块 2.模块的导入 3.环境变量sys.path 4.模块间的相互调用 """ """ ...
- day16模块,导入模板完成的三件事,起别名,模块的分类,模块的加载顺序,环境变量,from...import语法导入,from...import *,链式导入,循环导入
复习 ''' 1.生成器中的send方法 -- 给当前停止的yield发生信息 -- 内部调用__next__()取到下一个yield的返回值 2.递归:函数的(直接,间接)自调用 -- 回溯 与 递 ...
- oldboy edu python full stack s22 day16 模块 random time datetime os sys hashlib collections
今日内容笔记和代码: https://github.com/libo-sober/LearnPython/tree/master/day13 昨日内容回顾 自定义模块 模块的两种执行方式 __name ...
- day16,模块 , 用户管理系统 , 购物车程序 , 分页显示.
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.列举你常见的内置函数."""强制转换:int() / str() / li ...
- Python语言系列-05-模块和包
自定义模块 #!/usr/bin/env python3 # author:Alnk(李成果) # 为什么要有模块?(内置函数不够用) # 和操作系统打交道 # 和python解释器打交道 # 和时间 ...
- day16 十六、包、循环导入、导入模块
一.包的概念 包:一系列模块的集合体.包通过文件夹管理一系列功能相近的模块 重点:包中一定有一个专门用来管理包中所有模块的文件 包名:存放一系列模块的文件夹的名字 包名(对象)存放的是管理模块的那个文 ...
- day16——自定义模块、time、datetime、random
day16 自定义模块 自定义一个模块 import :导入(拿工具箱) # import test # test.func() 导入发生的事情 在当前的名称空间中开辟一个新的空间 将模块中所有的代码 ...
随机推荐
- IOS蓝牙连接 初步简单封装使用
最近写一个蓝牙项目 初步实现一下蓝牙设备连接交互,后期继续完善.... 1.连接蓝牙相关操作 BlueToothManger.h // // BlueToothManger.h // SmartRob ...
- iOS蓝牙架构搭建-2
蓝牙架构的搭建 前言:笔者认为,如果只是单纯的传授大家代码怎么敲,那么大家很有可能在实际开发中难以运用.刚好本人曾经参与过多款智能硬件开发的架构搭建,本小节本人就现场带领大家开发出一个通用的蓝牙工具类 ...
- 洛谷1005(dp)
1.不要贪,缩小区间去dp就好. 2.预处理指数. 3.__int128可还行. #include <cstdio> #include <cctype> #include &l ...
- [HDU1595] find the longest of the shortest
题目链接: 点我 题意: 给定一个\(n\)个点,\(m\)条边的带权无向图,起点为\(1\),终点为\(n\),现在可以删去其中的一条边,求一种删边方案使得剩下图的最短路值最大,输出这个最短路的长度 ...
- Hive_Hive的数据模型_数据存储
Hive的数据模型_数据存储 web管理工具察看HDFS文件系统:http://<IP>:50070/ 基于HDFS没有专门的数据存储格式,默认使用制表符存储结构主要包括:数据库,文件,表 ...
- Ajax基础介绍
什么是Ajax 首先来看一下什么是Ajax,英语全称Asynchronous JavaScript And XML,翻译成中文就是异步的JavaScript和XML.也被称为异步无刷新技术 先来解 ...
- 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载二(生命周期)
4.1 什么是生命周期 想要真正地理解PhoneGap应用开发的内涵,首先需要理解什么是生命周期.这在字面上其实非常容易理解,一个应用从开始运行被手机加载到应用被退出之间的过程就称之为一个生命周期.为 ...
- jenkins+phantomjs环境搭建及使用
#jenkins+phantomjs 前端性能自动化测试的安装和使用#gcc GNU编译器套件 https://gcc.gnu.org/ #nginx 高性能的HTTP和反向代理服务器 http:// ...
- 爬虫基本原理及requests,response详解
一.爬虫基本原理 1.爬虫是什么 #1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. #2.互联网建立的目的? 互联网的核心价值在于数据 ...
- 编写Robotium测试程序
6.编写Robotium测试程序 1)导包 //导入需要测试的工程 import com.example.android.notepad.NotesList; //robotium提供的测试用类 im ...