python-10 开箱即用

左心房为你撑大大i 提交于 2019-12-04 06:54:05
# 开箱即用# 10.1 模块 import# 10.1.1 模块就是程序# import sys# sys.path.append('C:/python') # 添加路径# import FU_10_01_hello # 导入一次和多次效果一样#import hello# 如果要重新加载 可使用模块importlib中的函数reload# import importlib# importlib.reload(FU_10_01_hello)# 10.1.2 模块是用来定义下来# 1.在模块中定义函数# import FU_10_02_hello2# FU_10_02_hello2.hello()# 2.在模块中添加测试代码# import FU_10_03_hello3# FU_10_03_hello3.hello()# print(__name__)# print(FU_10_03_hello3.__name__)# import FU_10_04_hello4# FU_10_04_hello4.hello()# FU_10_04_hello4.test()# 10.1.3 让模块可用# 1. 将模块放在正确的位置# import pprint, sys# pprint.pprint(sys.path)  # 在模块sys的变量path中找到目录列表#目录site-packages是最佳的选择#如果要打印的数据结构太大,一行容纳不下,可使用模块pprint中的函数pprint(而不是普通print语句)。pprint是个卓越的打印函数,能够更妥善地打印输出# 2. 告诉解释器到哪里去查找#标准做法是将模块所在的目录包含在环境变量PYTHONPATH中。# 10.1.4 包  为组织模块,可将其编组为包'''要创建一个名为drawing的包,其中包含模块shapes和colors,需要创建如表10-1所示的文件和目录(UNIX路径名)。~/python/ PYTHONPATH中的目录~/python/drawing/ 包目录(包drawing)~/python/drawing/__init__.py 包代码(模块drawing)~/python/drawing/colors.py 模块colors~/python/drawing/shapes.py 模块shapes'''# 10.2 探索模块# 10.2.1 模块包含什么# import copy# 1、使用dir 查看对象的所有属性(包括函数、类、变量)# print([n for n in dir(copy) if not n.startswith('_')])# 变量# print(copy.__all__)# 10.2.2 使用help获取帮助# print(help(copy.copy))# print(copy.copy.__doc__)# 10.2.3 文档# print(range.__doc__)#“Python库参考手册”(https://docs.python.org/library)# 在Python网站(https://docs.python.org)# 10.2.4 使用源代码# print(copy.__file__) # 找到源代码# 10.3 标准库:一些深受欢迎的模块#10.3.1 sys# import sys# from math import *# print(sys.modules['sqrt'])# print(sys.path)# print(sys.platform)'''argv 命令行参数,包括脚本名exit([arg]) 退出当前程序,可通过可选参数指定返回值或错误消息modules 一个字典,将模块名映射到加载的模块path 一个列表,包含要在其中查找模块的目录的名称platform 一个平台标识符,如sunos5或win32stdin 标准输入流——一个类似于文件的对象stdout 标准输出流——一个类似于文件的对象stderr 标准错误流——一个类似于文件的对象'''# 10.3.2 osimport os# for i in os.environ:#     print('key : {} Values: {}'.format(i, os.environ[i]))# print(os.environ['PYTHONPATH'])# print(os.system(command= 'execv'))# print(os.sep) # 路径名中的分隔符# print(os.pathsep) # 用于分割不同的路径名# print(repr(os.linesep)) # 用于文本文件中行分隔符# print(os.urandom(2)) # 使用随系统而异的“真正”(至少是强加密)随机源# environ 包含环境变量的映射# system(command) 在子shell中执行操作系统命令# sep 路径中使用的分隔符# pathsep 分隔不同路径的分隔符# linesep 行分隔符('\n'、'\r'或'\r\n')# urandom(n) 返回n个字节的强加密随机数据# 10.3.3 fileinput# input([files[, inplace[, backup]]]) 帮助迭代多个输入流中的行# filename() 返回当前文件的名称# lineno() 返回(累计的)当前行号# filelineno() 返回在当前文件中的行号# isfirstline() 检查当前行是否是文件中的第一行# isstdin() 检查最后一行是否来自sys.stdin# nextfile() 关闭当前文件并移到下一个文件# close() 关闭序列# 10.3.4 集合、堆和双端队列# 1、集合# print(set(range(10)))# print({0, 1, 2, 0, 1})# a = {1, 2, 3}# b = {2, 3, 4}# print(a.union(b))# print(a | b)# 2、堆# from heapq import *# from random import shuffle# # print(help(shuffle))# data = list(range(10))# shuffle(data)# heappush(data, 5)# heapify(data)# print(data)# print(heappop(data))# print(heappop(data))# print(heappop(data))# print(data)# print(heapreplace(data, 10))# print(data)# print(nlargest(3,data))# print(nsmallest(3, data))# heappush(heap, x) 将x压入堆中# heappop(heap) 从堆中弹出最小的元素# heapify(heap) 让列表具备堆特征# heapreplace(heap, x) 弹出最小的元素,并将x压入堆中# nlargest(n, iter) 返回iter中n个最大的元素# nsmallest(n, iter) 返回iter中n个最小的元素# merge(*iterables, key=None, reverse=False):将多个有序的堆合并成一个大的有序堆,然后再输出。# heappushpop(heap, item):将item 入堆,然后弹出并返回堆中最小的元素。# 3. 双端队列(及其他集合)# from collections import deque# q = deque(range(5))# q.append(5)# q.appendleft(6)# print(q)# print(q.pop())# print(q.popleft())# print(q)# q.rotate(-1)# print(q)# 10.3.5 timeimport time# 1、返回当前时间的时间戳(1970纪元后经过的浮点秒数)print(time.time())  # 返回当前时间的时间戳(1970纪元后经过的浮点秒数)#2、推迟调用线程的运行秒# time.sleep(3)# print(time.time())#3、接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组tprint(time.gmtime())#4、 接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)print(time.localtime())#5、接收时间元组并返回时间戳print(time.mktime(time.gmtime()))print(time.mktime(time.localtime()))# 6 接收以时间元组,并返回以可读字符串表示当地时间print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))print(time.strftime('%y-%m-%d %H:%M:%S', time.localtime()))# 7、把一个时间字符串解析为时间元组print(time.strptime('2019-10-09 11:11:11', '%Y-%m-%d %H:%M:%S'))# 8、接受一个时间元组并返回一个可读的形式print(time.asctime())# 9、作用相当于asctime(localtime(secs)),未给参数相当于asctime()print(time.ctime())# 10、当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。print(time.timezone)#Python日期元组中的字段# 索引        字段          值# 0             年       如2000、2001等# 1             月       范围1~12# 2             日       范围1~31# 3             时       范围0~23# 4             分       范围0~59# 5             秒       范围0~61# 6             星期     范围0~6,其中0表示星期一# 7             儒略日   范围1~366# 8             夏令时   0、1或-1# 模块time中一些重要的函数# asctime([tuple]) 将时间元组转换为字符串# localtime([secs]) 将秒数转换为表示当地时间的日期元组# mktime(tuple) 将时间元组转换为当地时间# sleep(secs) 休眠(什么都不做)secs秒# strptime(string[, format]) 将字符串转换为时间元组# time() 当前时间(从新纪元开始后的秒数,以UTC为准)# 10.3.6 random# import random# print(random.random())  # 返回一个0-1 的随机函数# print(random.getrandbits(3))# print(random.uniform(5, 8))# print(random.randrange(0, 10, 3))# print(range(0, 10, 3))# print([x for x in range(0, 10, 3)])# a = [x for x in range(0, 10)]# print(random.choice(a))  # 从a 中随机选择一个元素# random.shuffle(a)# print(a)# print(random.sample(a, 5)) # 从a 中随机选择五个元素# 10.3.7 shelve 和 json
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!