python 标准库学习 difflib
每日一词:
wink
US[wɪŋk] UK[wɪŋk]
n.眼色;眨一只眼;眨眼示意
v.闪烁;眨眼示意(尤指使眼色或表示开玩笑);明灭
网络瞬间;眨眼睛;你眨了眨眼
推荐一个电影:
记忆碎片👴
又是诺兰的大作,强烈推荐
推荐指数: 🌟🌟🌟🌟🌟
今天是二十四节气的大寒
大寒,是二十四节气中的最后一个节气。斗指丑;太阳黄经为300°;公历1月20-21日交节。同小寒一样,大寒也是表示天气寒冷程度的节气。在我国部分地区,大寒不如小寒冷,但在某些年份和沿海少数地方,全年最低气温仍然会出现在大寒节气内。小寒、大寒是一年中雨水最少的时段。
兹大寒一过,新一年的节气就又轮回来了,正所谓冬去春来。大寒虽然寒冷,但因为已近春天,所以不会像大雪到冬至期间那样酷寒。这时节,人们开始忙着除旧饰新、腌制年肴、准备年货和各种祭祀供品、扫尘洁物,因为中国人最重要的节日——春节就要到了。
每日一词:
Cold
adj 冷,寒冷
例句:
It is the last one in January 20th of each year twenty-four solar term solar term, before and after the sun reaches 300 degrees for it”. It is cold weather, meaning extreme.
大寒是二十四节气中最后一个节气,每年1月20日前后太阳到达黄经300°时为”大寒”。大寒,是天气寒冷到极点的意思。
昨天深夜 红薯 一篇博文 悼 @宏哥 ,让我久久不能平静。
时间定格在了2020年1月16号。
还依稀记得几年前和宏哥聊天,听说他去创业了。
还记得那时意气风发,舌战群儒,没想到如今阴阳两隔。
创业这条路,真的不好走。
愿天堂没有代码。
大家都好好活着吧。
源代码: Lib/numbers.py
numbers
模块 (PEP 3141) 定义了数字 抽象基类 的层次结构,其中逐级定义了更多操作。 此模块中所定义的类型都不可被实例化。
class numbers.Number
数字的层次结构的基础。如果你只想确认参数 x 是不是数字而不关心其类型,则使用isinstance(x, Number)。
每日一词:
Pollen
n 花粉
例句:
Good news for all you hay fever and asthma sufferers
对于花粉症和哮喘病患者是个好消息
今天是小年,祝大家心想事成
源码:Lib/heapq.py
主要模块和方法:
1 | __all__ = ['heappush', 'heappop', 'heapify', 'heapreplace', 'merge', |
这个模块提供了堆队列算法的实现,也称为优先队列算法。
堆是一个二叉树,它的每个父节点的值都只会小于或大于所有孩子节点(的值)。它使用了数组来实现:从零开始计数,对于所有的 k ,都有 heap[k] <= heap[2*k+1]
和 heap[k] <= heap[2*k+2]
。 为了便于比较,不存在的元素被认为是无限大。 堆最有趣的特性在于最小的元素总是在根结点:heap[0]
。
每日一词:
calendar
英 [ˈkælɪndə(r)] 美 [ˈkælɪndər]
- n. 日历;[天] 历法;日程表
- vt. 将…列入表中;将…排入日程表
短语
chinese calendar 中国传统历法 ; 阴历 ; 中国农历
lunar calendar 阴历 ; 夏历 ; 来自日月星辰的力量 ; 太阴历
solar calendar 太阳历 ; 公历 ; 阳历与阴历
还有几天就过年了,2020年充满了期待,你呢?
今天我们学习python 标准库 calendar 。
输出像 Unix cal 那样的日历,它还提供了其它与日历相关的实用函数。 默认情况下,这些日历把星期一当作一周的第一天,星期天为一周的最后一天(按照欧洲惯例)。 可以使用
setfirstweekday()
方法设置一周的第一天为星期天 (6) 或者其它任意一天。 使用整数作为指定日期的参数。 更多相关的函数,参见datetime
和time
模块。
在这个模块中定义的函数和类都基于一个理想化的日历,现行公历向过去和未来两个方向无限扩展。这与 Dershowitz 和 Reingold 的书 “历法计算” 中所有计算的基本日历 – “proleptic Gregorian” 日历的定义相符合。 ISO 8601标准还规定了 0 和 负数年份。0年指公元前1年, -1年指公元前2年,依此类推 .
每日英语:
miracle n
[英] [ˈmɪrəkl] [美] [ ˈmɪrəkəl ]
奇迹,圣迹,神迹; 令人惊奇的人(或事)
推荐一个老电影:
每个人终将都会踏上自己的绿色旅程,善恶就在一念之间。愿世界美好,温情以待。
先看一张图:
1,迭代器协议:对象需要提供next()方法,它要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代。
2,可迭代对象:实现了迭代器协议对象。list、tuple、dict都是Iterable(可迭代对象),但不是Iterator(迭代器对象)。但可以使用内建函数iter(),把这些都变成Iterable(可迭代器对象)。
3,for item in Iterable 循环的本质就是先通过iter()函数获取可迭代对象Iterable的迭代器,然后对获取到的迭代器不断调用next()方法来获取下一个值并将其赋值给item,当遇到StopIteration的异常后循环结束
快过年了,准备了一些过节用的英语
传统中国节日:traditional Chinese festival
农历:lunar calendar
腊八节:Laba Festival
小年:Little New Year
除夕:Lunar New Year’s Eve
春节:the Spring Festival
正月初一:the lunar New Year’s Day
元宵节:the Lantern Festival
正月:the first month of the lunar year
二月二:Dragon Heads-raising Day
时间过得好快,又是一年过去了。
常用的文本处理 除了文件,数据库,json,xml 以外,python还提供了一种存储方案,这就是pickle
。
模块
pickle
实现了对一个 Python 对象结构的二进制序列化和反序列化。“pickling” 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 “unpickling” 是相反的操作,会将(来自一个 binary file 或者 bytes-like object 的)字节流转化回一个对象层次结构。 pickling(和 unpickling)也被称为“序列化”, “编组” 或者 “平面化”。而为了避免混乱,此处采用术语 “封存 (pickling)” 和 “解封 (unpickling)”。
警告 :
pickle
模块并不安全。你只应该对你信任的数据进行unpickle操作。构建恶意的 pickle 数据来在解封时执行任意代码是可能的。绝对不要对不信任来源的数据和可能被篡改过的数据进行解封。请考虑使用hmac
来对数据进行签名,确保数据没有被篡改。在你处理不信任数据时,更安全的序列化格式如json
可能更为适合。参见 与 json 模块的比较
本节内容比较多,先看下类层次结构,有一个大体的概念(节选自源码):
1 | Classes: |
每日一词: underdog
英 [ˈʌndədɒg] 美 [ˈʌndərdɔg]
n.失败者; 退居下风的人; 受压迫者; 打败了的选手
复数: underdogs
这个词来自1887年出现,原指在斗狗比赛中战败的狗。后来词义引申至人,指的是各类竞赛和对碰中不被看好的一方,或是指处在逆境中的人和团体。
被看好的一方,即Topdog,从来不缺喝彩和支持。而Underdog的路则注定孤独许多。不被人看好,较少人支持。
所幸的是,正如倪匡先生感言:太多的时候,孤独最好。
若能与孤独为师,又何须担心underdog呢?
此模块定义了一种对象类型,可以紧凑地表示基本类型值的数组:字符、整数、浮点数等。 数组属于序列类型,其行为与列表非常相似,不同之处在于其中存储的对象类型是受限的。 类型在对象创建时使用单个字符的 类型码 来指定。 已定义的类型码如下:
类型码 | C 类型 | Python 类型 | 以字节表示的最小尺寸 | 注释 |
---|---|---|---|---|
'b' |
signed char | int | 1 | |
'B' |
unsigned char | int | 1 | |
'u' |
Py_UNICODE | Unicode 字符 | 2 | (1) |
'h' |
signed short | int | 2 | |
'H' |
unsigned short | int | 2 | |
'i' |
signed int | int | 2 | |
'I' |
无符号整型 | int | 2 | |
'l' |
signed long | int | 4 | |
'L' |
无符号长整型 | int | 4 | |
'q' |
signed long long | int | 8 | |
'Q' |
无符号 long long | int | 8 | |
'f' |
float | float | 4 | |
'd' |
double | float | 8 |
==注释==
‘u’类型码在
python3
已经被废除,默认python的字符串就是unicode
字符
class array.array
(typecode[, initializer])
一个包含由 typecode 限制类型的条目的新数组,并由可选的 initializer 值进行初始化,该值必须为一个列表、bytes-like object 或包含正确类型元素的可迭代对象。如果给定一个列表或字符串,该 initializer 会被传给新数组的 fromlist()
, frombytes()
或 fromunicode()
方法(见下文)以将初始条目添加到数组中。 否则会将可迭代对象作为 initializer 传给 extend()
方法。引发一个 审核事件 array.__new__
附带参数 typecode
, initializer
。
array.typecodes
包含所有可用类型码的字符串。
1 | >>> import array |
数组对象支持普通的序列操作如索引、切片、拼接和重复等。 当使用切片赋值时,所赋的值必须为具有相同类型码的数组对象;所有其他情况都将引发 TypeError
。 数组对象也实现了缓冲区接口,可以用于所有支持 字节类对象 的场合。
每日一词: wrong
adj. 不道德的, 不正当的, 不义的
不确实的, 不正确的, 错误的
不合要求的, 不适合的, 并非合意的
有故障, 有毛病
adv. 方式或方向错误地; 错误地; 结果错误地
n. 罪过, 过失, 罪恶
不义的行为, 不公正的事
时 态: wronged, wronging, wrongs
名 词: wronger
副 词: wrongly
名 词: wrongness词语:
confound right and wrong
混淆是非,黑白不分
get one wrong
误会某人;误会
right or wrong
adv. 不管如何something wrong with
…出了毛病;…有问题;…不对头
众所周知,python3中所有类默认继承自object类,意味着父类中所有的方法,子类都继承了。
我个人理解,抽象基类是无法被实例化的,只能子类实现
该模块定义了一些 抽象基类,它们可用于判断一个具体类是否具有某一特定的接口;例如,这个类是否可哈希,或其是否为映射类。
模块里方法一览,摘自源码
1 | __all__ = ["Awaitable", "Coroutine", |