凭海临风的IT江湖

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 公益 404

  • 时间轴

  • 搜索

python standard library sqlite3

发表于 2020-01-20 | 更新于 2022-08-18 | 分类于 python , standard_library
本文字数: 26k | 阅读时长 ≈ 24 分钟

python 标准库 sqlite3

今天是二十四节气的大寒

大寒,是二十四节气中的最后一个节气。斗指丑;太阳黄经为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°时为”大寒”。大寒,是天气寒冷到极点的意思。

阅读全文 »

Understand Python GIL

发表于 2020-01-19 | 更新于 2022-08-18 | 分类于 python , standard_library
本文字数: 15k | 阅读时长 ≈ 14 分钟

python 标准库 threading

每日一词:

US[‘weðər] UK[‘weðə(r)]

n.天气;气象;气象预报

v.变形;经受住

气候;天气预报;风化

给大家推荐一部电影: 气象先生

This shit life,we must chuck some things

阅读全文 »

python standard library numbers

发表于 2020-01-18 | 更新于 2022-08-18 | 分类于 python , standard_library
本文字数: 3.8k | 阅读时长 ≈ 3 分钟

python 标准库数字的抽象基类 numbers

昨天深夜 红薯 一篇博文 悼 @宏哥 ,让我久久不能平静。

时间定格在了2020年1月16号。

还依稀记得几年前和宏哥聊天,听说他去创业了。

还记得那时意气风发,舌战群儒,没想到如今阴阳两隔。

创业这条路,真的不好走。

愿天堂没有代码。

大家都好好活着吧。

源代码

源代码: Lib/numbers.py

numbers 模块 (PEP 3141) 定义了数字 抽象基类 的层次结构,其中逐级定义了更多操作。 此模块中所定义的类型都不可被实例化。

核心类

class numbers.Number

数字的层次结构的基础。如果你只想确认参数 x 是不是数字而不关心其类型,则使用isinstance(x, Number)。

阅读全文 »

python standard libary heapq

发表于 2020-01-17 | 更新于 2022-08-18 | 分类于 python
本文字数: 5.3k | 阅读时长 ≈ 5 分钟

python 标准库 堆队列算法 heapq

每日一词:

Pollen

n 花粉

例句:

Good news for all you hay fever and asthma sufferers
对于花粉症和哮喘病患者是个好消息

今天是小年,祝大家心想事成

源码

源码:Lib/heapq.py

主要模块和方法:

1
2
__all__ = ['heappush', 'heappop', 'heapify', 'heapreplace', 'merge',
'nlargest', 'nsmallest', 'heappushpop']

这个模块提供了堆队列算法的实现,也称为优先队列算法。

堆是一个二叉树,它的每个父节点的值都只会小于或大于所有孩子节点(的值)。它使用了数组来实现:从零开始计数,对于所有的 k ,都有 heap[k] <= heap[2*k+1] 和 heap[k] <= heap[2*k+2]。 为了便于比较,不存在的元素被认为是无限大。 堆最有趣的特性在于最小的元素总是在根结点:heap[0]。

阅读全文 »

python standard library calendar

发表于 2020-01-16 | 更新于 2022-08-18 | 分类于 python
本文字数: 5.9k | 阅读时长 ≈ 5 分钟

python 标准库 calendar

每日一词:

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年,依此类推 .

阅读全文 »

python standard library iterator and generator

发表于 2020-01-15 | 更新于 2022-08-18 | 分类于 python
本文字数: 3.1k | 阅读时长 ≈ 3 分钟

python 标准库 类型: 迭代器 和 生成器

每日英语:

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的异常后循环结束

阅读全文 »

python standard library pickle

发表于 2020-01-14 | 更新于 2022-08-18 | 分类于 python
本文字数: 19k | 阅读时长 ≈ 18 分钟

python 标准库 pickle

快过年了,准备了一些过节用的英语

  1. 传统中国节日:traditional Chinese festival

  2. 农历:lunar calendar

  3. 腊八节:Laba Festival

  4. 小年:Little New Year

  5. 除夕:Lunar New Year’s Eve

  6. 春节:the Spring Festival

  7. 正月初一:the lunar New Year’s Day

  8. 元宵节:the Lantern Festival

  9. 正月:the first month of the lunar year

  10. 二月二:Dragon Heads-raising Day

时间过得好快,又是一年过去了。

python 标准库学习之 pickle

常用的文本处理 除了文件,数据库,json,xml 以外,python还提供了一种存储方案,这就是pickle。

模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化。“pickling” 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 “unpickling” 是相反的操作,会将(来自一个 binary file 或者 bytes-like object 的)字节流转化回一个对象层次结构。 pickling(和 unpickling)也被称为“序列化”, “编组” 或者 “平面化”。而为了避免混乱,此处采用术语 “封存 (pickling)” 和 “解封 (unpickling)”。

警告 : pickle 模块并不安全。你只应该对你信任的数据进行unpickle操作。构建恶意的 pickle 数据来在解封时执行任意代码是可能的。绝对不要对不信任来源的数据和可能被篡改过的数据进行解封。请考虑使用 hmac 来对数据进行签名,确保数据没有被篡改。在你处理不信任数据时,更安全的序列化格式如 json 可能更为适合。参见 与 json 模块的比较

源代码: Lib/pickle.py

本节内容比较多,先看下类层次结构,有一个大体的概念(节选自源码):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Classes:
Pickler
Unpickler
Functions:
dump(object, file)
dumps(object) -> string
load(file) -> object
loads(string) -> object
Misc variables:
__version__
format_version
compatible_formats

__all__ = ["PickleError", "PicklingError", "UnpicklingError", "Pickler",
"Unpickler", "dump", "dumps", "load", "loads"]
阅读全文 »

python standard library array type

发表于 2020-01-13 | 更新于 2022-08-18 | 分类于 python
本文字数: 3.5k | 阅读时长 ≈ 3 分钟

每日一词: underdog

英 [ˈʌndədɒg] 美 [ˈʌndərdɔg]

n.失败者; 退居下风的人; 受压迫者; 打败了的选手

复数: underdogs

这个词来自1887年出现,原指在斗狗比赛中战败的狗。后来词义引申至人,指的是各类竞赛和对碰中不被看好的一方,或是指处在逆境中的人和团体。

被看好的一方,即Topdog,从来不缺喝彩和支持。而Underdog的路则注定孤独许多。不被人看好,较少人支持。

所幸的是,正如倪匡先生感言:太多的时候,孤独最好。

若能与孤独为师,又何须担心underdog呢?

python 标准库学习 array

此模块定义了一种对象类型,可以紧凑地表示基本类型值的数组:字符、整数、浮点数等。 数组属于序列类型,其行为与列表非常相似,不同之处在于其中存储的对象类型是受限的。 类型在对象创建时使用单个字符的 类型码 来指定。 已定义的类型码如下:

类型码 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
2
3
>>> import array
>>> array.typecodes
'bBuhHiIlLqQfd'

数组对象支持普通的序列操作如索引、切片、拼接和重复等。 当使用切片赋值时,所赋的值必须为具有相同类型码的数组对象;所有其他情况都将引发 TypeError。 数组对象也实现了缓冲区接口,可以用于所有支持 字节类对象 的场合。

阅读全文 »

python standard library collections.abc

发表于 2020-01-12 | 更新于 2022-08-18 | 分类于 python
本文字数: 5.5k | 阅读时长 ≈ 5 分钟

python 标准库 之 collections.abc

每日一词: wrong

adj. 不道德的, 不正当的, 不义的

不确实的, 不正确的, 错误的

不合要求的, 不适合的, 并非合意的

有故障, 有毛病

adv. 方式或方向错误地; 错误地; 结果错误地

n. 罪过, 过失, 罪恶

不义的行为, 不公正的事

时 态: wronged, wronging, wrongs
名 词: wronger
副 词: wrongly
名 词: wrongness

词语:

confound right and wrong

混淆是非,黑白不分

get one wrong

误会某人;误会

right or wrong
adv. 不管如何

something wrong with

…出了毛病;…有问题;…不对头

python 标准库学习之 抽象基类 collection.abc

众所周知,python3中所有类默认继承自object类,意味着父类中所有的方法,子类都继承了。

我个人理解,抽象基类是无法被实例化的,只能子类实现

参考文档

源代码: Lib/_collections_abc.py

该模块定义了一些 抽象基类,它们可用于判断一个具体类是否具有某一特定的接口;例如,这个类是否可哈希,或其是否为映射类。

模块里方法一览,摘自源码

1
2
3
4
5
6
7
8
9
10
__all__ = ["Awaitable", "Coroutine",
"AsyncIterable", "AsyncIterator", "AsyncGenerator",
"Hashable", "Iterable", "Iterator", "Generator", "Reversible",
"Sized", "Container", "Callable", "Collection",
"Set", "MutableSet",
"Mapping", "MutableMapping",
"MappingView", "KeysView", "ItemsView", "ValuesView",
"Sequence", "MutableSequence",
"ByteString",
]
阅读全文 »

python standard library context-manager-types

发表于 2020-01-11 | 更新于 2022-08-18 | 分类于 python
本文字数: 8k | 阅读时长 ≈ 7 分钟

python 标准库 上下文管理类型

每日一词:

intresting :

US [‘ɪntrəstɪŋ] UK [‘ɪntrəstɪŋ]

  • adj.有趣的;有吸引力的
  • v.“interest”的现在分词
  • Web有意思的;令人感兴趣的;引人入胜的

比较级:more interesting
最高级:most interesting

大部分时候,你都是一个人在默默努力,这样,距离成功才会更进一步。

​ – 凭海临风语录

python 标准库学习 上下文管理

什么是上下文管理器?上下文管理器就是一个用装饰器实现上下文协议管理的对象。主要用于保存和恢复各种全局状态,例如关闭文件等。下面我们来了解具体的内容。

函数

  • contextmanager.__enter__()

    进入运行时上下文并返回此对象或关联到该运行时上下文的其他对象。 此方法的返回值会绑定到使用此上下文管理器的 with 语句的 as 子句中的标识符。一个返回其自身的上下文管理器的例子是 file object。 文件对象会从 enter() 返回其自身,以允许 open() 被用作 with 语句中的上下文表达式。一个返回关联对象的上下文管理器的例子是 decimal.localcontext() 所返回的对象。 此种管理器会将活动的 decimal 上下文设为原始 decimal 上下文的一个副本并返回该副本。 这允许对 with 语句的语句体中的当前 decimal 上下文进行更改,而不会影响 with 语句以外的代码。

  • contextmanager.__exit__(*exc_type*, *exc_val*, *exc_tb*)

    退出运行时上下文并返回一个布尔值旗标来表明所发生的任何异常是否应当被屏蔽。 如果在执行 with 语句的语句体期间发生了异常,则参数会包含异常的类型、值以及回溯信息。 在其他情况下三个参数均为 None。自此方法返回一个真值将导致 with 语句屏蔽异常并继续执行紧随在 with 语句之后的语句。 否则异常将在此方法结束执行后继续传播。 在此方法执行期间发生的异常将会取代 with 语句的语句体中发生的任何异常。传入的异常绝对不应当被显式地重新引发 —— 相反地,此方法应当返回一个假值以表明方法已成功完成并且不希望屏蔽被引发的异常。 这允许上下文管理代码方便地检测 __exit__() 方法是否确实已失败。

一个文件操作实例

1
2
3
4
>>> with open("/etc/hosts", "r") as file:
... dir(file)
...
['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']

此时的open返回的对象file,就实现了管理打开文件、关闭文件的上下文管理协议。

阅读全文 »
1…91011…15
Jeff Sui

Jeff Sui

148 日志
36 分类
169 标签
RSS
GitHub E-Mail
  • 20201
  • 2to31
  • Boolean1
  • Centos2
  • Exception1
  • GIL1
  • GitGutter1
  • Tkinter1
  • TypeScript2
  • XML2
  • __all__1
  • _thread1
  • app1
  • argparse2
  • array1
  • atexit1
  • bisect1
  • calendar1
  • centos1
  • checkbox1
  • cmath1
  • cmd1
  • code1
  • collections.abc1
  • concurrent1
  • context-manager-types1
  • cookies1
  • copy1
  • coroutines1
  • csv1
  • cygwin1
  • dataclasses1
  • dbm1
  • dict1
  • dictionary1
  • difflib1
  • dis1
  • django4
  • docker3
  • doctest1
  • dom1
  • eclipse1
  • enum1
  • es61
  • esp323
  • esptool1
  • ffmpeg1
  • filecmp1
  • fileinput1
  • fractions1
  • functools1
  • futures1
  • gc1
  • generator1
  • git4
  • gitcafe1
  • github1
  • glob1
  • heapq1
  • hexo2
  • html.parser1
  • http2
  • http.server1
  • ios1
  • iterator1
  • itertools1
  • java3
  • javascript6
  • javaweb2
  • jdk1
  • jira1
  • json1
  • juypter1
  • keyword1
  • linecache1
  • linter1
  • linux2
  • lite-server1
  • m3u81
  • maven4
  • micorpython1
  • micropython2
  • minidom1
  • modulefinder1
  • mongodb1
  • mybatis1
  • mysql1
  • nbextension1
  • nginx1
  • nodejs1
  • oop1
  • operator1
  • os1
  • os.path1
  • others1
  • pathlib1
  • photo1
  • pickle1
  • pprint1
  • pwd1
  • python96
  • python31
  • queue1
  • re1
  • readline1
  • registry2
  • registry-ui2
  • reprlib1
  • rust1
  • sax1
  • sched1
  • select1
  • selectors1
  • selenium3
  • shutil1
  • socket1
  • sort1
  • spring1
  • sqlite32
  • ssm1
  • standar_library1
  • standard_library78
  • statistics1
  • string1
  • sublime1
  • tempfile1
  • this1
  • thread1
  • timeit1
  • turtle2
  • types1
  • uPycraft1
  • unittest1
  • urllib.robotparser1
  • uuid1
  • uv1
  • venv1
  • vscode1
  • weakref1
  • web test2
  • webbrowser1
  • webrepl1
  • windows3
  • xml2
  • 二维码1
  • 办公1
  • 博客3
  • 坑1
  • 字典1
  • 异步1
  • 循环1
  • 感悟1
  • 持续集成1
  • 搭建1
  • 搭建博客1
  • 文章1
  • 杂记3
  • 版本管理2
  • 短网址1
  • 禅道1
  • 笔记1
  • 约束1
  • 网易音乐1
  • 美化1
  • 自动化测试1
  • 软件工程1
  • 逆向工程1
  • 闭包1
  • 项目管理2
© 2015 – 2025 Jeff Sui | 818k | 12:24
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v7.1.1
|
0%