datetime
日期时间类,主要熟悉API,时区的概念与语言无关。
from datetime import datetime as dt dt.utcnow() # 系统UTC时间 dt.now() # 系统当前时间 dt(2018, 3, 27, 14, 30) # 获得2018-3-27 14:30对应的datetime对象 dt.now().timestamp() # 秒数1522133962.527885 dt.fromtimestamp(1522133962.527885) # 从秒到datetime对象 dt.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') # string转datetime对象 dt.now().strftime('%a, %b %d %H:%M') # datetime转string
collections
namedtuple
可用于表示简单只读对象。
from collections import namedtuple Point = namedtuple('Point', ['x', 'y', 'z']) p = Point(1, 1, 1) p.x # 1 p.z # 1 p.x = 2 # Error
deque
双向队列。
from collections import deque q = deque(['a', 'b', 'c']) q.append('x') q.pop() # x q.append('u') q.popleft() # a
defaultdict
相对于dict,访问不存在的属性时,会返回lambda表达的返回值。
from collections import defaultdict dd = defaultdict(lambda : None) dd['x'] = 1 dd['x'] # 1 print(dd['y']) # None
OrderedDict
有序字典,可以保持字典按属性插入的先后顺序。
from collections import OrderedDict od = OrderedDict() od['x'] = 1 od['y'] = 2 od['z'] = 3 for item in od: print(item) # x y z
Counter
计数器,可理解为属性默认值为0的dict。
from collections import Counter c = Counter() c['x'] # 0 c['x'] = 'x' c['x'] # x
base64
base64编码,把bytes用ascii编码的一种常见方法。
import base64 base64.b64encode(b'hello') # b'aGVsbG8=' base64.b64decode(b'aGVsbG8=') # b'hello'
hashlib
常见的摘要算法,如MD5,SHA1等。
import hashlib as hash md5 = hash.md5() md5.update('233'.encode('utf-8')) print(md5.hexdigest()) # e165421110ba03099a1c0393373c5b43
hmac
hmac,类似md5 + salt。
import hmac password = b'888888' salt = b'abc' h = hmac.new(salt, password, digestmod='MD5') h.hexdigest() # 519151ad14e431254ff684cf4dba2d39
itertools
import itertools n = 0 for item in itertools.count(1): print(item) # 1, 2 ... 10 n += 1 if n > 10: break n = 0 for item in itertools.cycle('ABC'): print(item) # A, B, C, A ... n += 1 if n > 10: break n = 0 for item in itertools.repeat('A'): print(item) # A, A, A ... n += 1 if n > 10: break # 组合多个可迭代对象 for item in itertools.chain('ABC', 'XYZ'): print(item) # A, B, C, X, Y, Z
contextlib
with语句所需要的上下文管理器,可借助contextlib模块中的contextmanager使用装饰器模式实现。
from contextlib import contextmanager @contextmanager def withable(name): yield name print('end') with withable('x') as res: print(res) # x, end
urllib
urllib模块中的request可用于实现http-client相关功能。
from urllib import request with request.urlopen('https://amsimple.com') as res: data = res.read() print('Status:', res.status, res.reason) for k, v in res.getheaders(): print('%s: %s' % (k, v))
第三方模块
- Pillow:图片处理
- requests:比urllib中的request更强大
- chardet:对字符串进行编码识别
- psutil: 更便捷获取系统相关信息
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。