一叶不知秋

谁家今夜扁舟子, 何处相思明月楼?

Python 对象当函数使及动态添加方法

继续阅读 《Python Tricks: The Book》,书中说到 "Objects Can Behave Like Functions", 就是把对象当成函数来调用,在普通对象后加个括号就能调用相应的 __call__ 函数。下面是书中的例子 clas...

2019-02-09 06:48:20

阅读数 38

评论数 0

Python 函数参数的拆解

本文为阅读 《Python Tricks: The Book》一书的 3.5 Function Argument Unpacking 的笔记与扩充理解。函数参数拆解是定义可变参数(VarArgs) *args 和 **kwargs 的反向特性。 *args 和 **kwars 是函数可定义一个形...

2019-02-08 04:24:54

阅读数 51

评论数 0

Python 集合的遍历,推导及 filter/map/reduce 操作

借鉴于其他多数语言中集合的 map/reduce 操作,也想总结一下在 Python 中如何对集合进行 map/reduce。而不是对于 Python 集合只会用简单的 for ... in 遍历,处于之间的是 Python 的  Comprehension 操作,更倾向于译作推导; 在 Scal...

2019-01-30 09:28:51

阅读数 96

评论数 0

PostgreSQL 批量插入, 更新和合并操作

就在 2019 年 1 月份微软收购了 PostgreSQL 数据库的初创公司 CitusData, 在云数据库方面可以增强与 AWS 的竟争。AWS 的 RDS 两大开源数据库就是 MySQL(Aurora 和 MariaDB 是它的变种) 和 PostgreSQL。 而 PostgreSQL...

2019-01-29 15:41:08

阅读数 587

评论数 0

熟悉和应用 Python 的装饰器

Python 在语法上除了冒号与强制缩进外其实也没有太多令人眼前一亮的东西,倒是它的装饰器(Decorator) 值得玩味。初读 《THE Quick Python Book》一书,关于 Decorator(装饰器) 这一节匆匆而过,只是觉得它像 Java 注解一样的东西,没太细究。后来慢慢看到还...

2019-01-04 13:56:18

阅读数 42

评论数 0

Python 包管理及虚拟环境的应用(三)

前两篇分别学习了 Python 如何进行依赖的管理,以及结合虚拟环境来使用 pip 进行依赖管理。而有人觉得把 virtualenv 与 pip 分开来操作太麻烦了,而且 requirements.txt 描述依赖的方式十分笨拙,所以在前两者之上创建了 pipenv, 也谈不上重新发明了轮子吧。 ...

2019-01-03 16:39:40

阅读数 919

评论数 0

Python 包管理及虚拟环境的应用(二)

原本想在一篇之内覆盖到 Python 的包管理以及各类虚拟环境的应用,没想根本就是一发不可收拾,恐怕两篇都完不了,所以也要进行重构。这里只涉及到 Python 的虚拟环境 venv 和 virtualenv,至于标题的话,也不想再改了,只作一,二,三编号,必要时仍能连缀成长篇。最后一篇将单独学习 ...

2019-01-03 16:38:47

阅读数 25

评论数 0

Python 包管理及虚拟环境的应用(一)

话说 Python 的哲学之一就是: 用一种方法,最好是只有一种方法来做一件事。可以用 python -m this 或在  python 交互界面下 import this 看到 The Zen of Python 有一句: There should be one-- and prefera...

2019-01-03 16:38:13

阅读数 55

评论数 0

Python 中的 urlencode 和 urldecode 操作

Web  编程中由于需要用 Form 或 URL 来传递参数,所以必然会有 urlencode 和 urldecode 的操作,Python Web 也不例外。Python 对 URL 的编解码操作提供了 urllib 模块,下面例子中所使用的 Python 版本是  3.6.7,不同的 Pyth...

2019-01-02 10:47:16

阅读数 494

评论数 0

Jackson 反序列化 "Y"/"N" 为相应的布尔值

JSON 表示布尔值标准的形式是 true  和  false,如果 Java 对应的类型是对象  Boolean,那么在 JSON 中也可以是  null。如果收到 JSON 数据是用 'Y'/'N', 或 'Yes'/'No' 来表示布尔值的,那么使用 Java 的 Jackson 库如何把它...

2018-12-17 06:10:30

阅读数 130

评论数 0

让 Python 的数据库查询返回字典记录

在使用  Python 进行数据库查询,通常情况下 cursor 的 fetchall, fetchmany 返回的是元组(Tuple) 的列表,所以对查询到的结果只能用索引下标来访问,而无法通过字段名来获取值。对 Java JDBC 的 ResultSet 操作,我们有两种获取值的方式,resu...

2018-12-17 02:32:54

阅读数 477

评论数 0

Python 版的 try-with-resources -- with 上下文管理器

作为一个  Java 为母语的程序员来讲,学习起其他新的语言就难免任何事都与 Java 进行横向对比。Java 7 引入了能省去许多重复代码的 try-with-resources 特性,不用每回 try/finally 来释放资源(不便之处有局部变量必须声明在  try 之前,finally 里...

2018-12-05 10:29:24

阅读数 51

评论数 0

用 .pth 文件附加 Python 模块搜索路径

上一篇 Python 的模块搜索路径,介绍了 Python 的模块搜索路径,最终起作用的是 sys.path 路径列表。如果要自定义自己的搜索路径,就是要怎么定制 sys.path 的内容。可以简单的用 PYTHONPATH 环境变量前向添加,这儿将要说的是用 .pth 文件的方式。也可由此进一步...

2018-11-27 05:38:35

阅读数 139

评论数 0

Python 的模块搜索路径

一种语言要使用到外部库(模块) 时必然会涉及到从哪里以及按何顺序加载依赖,就像 LD_LIBRARY_PATH, CLASSPATH 那样,Python 也有其默认的模块搜索顺序, 依序找到想要的模块即停止。Python 中 sys.path 返回的列表包含了模块搜索的顺序,我们可以程序中修改该列...

2018-11-27 05:38:01

阅读数 40

评论数 0

Python 的 __str__ 和 __repr__ 方法比较

阅读到 Strings 中关于转换对象为字符串的内容,介绍了 repr 函数,趁着还没有真正了解 Python 面向对象的生疏与热度,感性上理解一下 repr 与 str 这两个函数的区别。 Python 的全局方法 repr 和 str 会映射到对象的 __repr__ 和 __str__ 的...

2018-11-13 12:07:12

阅读数 82

评论数 0

Apache 中运行 Python CGI 程序

Web 程序我还是喜欢用 Apache 来作为入口,因为我用的系统是 Mac OS, Apache 它就静静的躺上那儿了。最好是都像 PHP 那样的程序,无需启动额外的服务,这种使用方式的缺陷是不太适合于做微服务。 这儿呢,我也是来探索如何在 Apache 中运行 Python 的 CGI 程序...

2018-11-13 12:06:44

阅读数 115

评论数 0

开始再战 Python - 重新入门 - 工具篇

两年前想摸摸 Python 的门道,简要记录了一篇 我的 Python 快速入门,当时只觉得那是一种与 C/Java 异样风格的编程语言,没领会到特别之处。如今对 Python 的感受就不一般了,因为是云服务,机器学习,人工知道大行其道的年代,所以更为急迫的想把它好好弄明白。 Python 3 ...

2018-11-03 16:11:04

阅读数 43

评论数 0

Kafka Producer 设置 Interceptor 来统计消息

Kafka 消息的 Producer 在调用 producer.send() 方法发送消息时会先把消息放到本地缓冲中,然后由  Kafka 网络线程从缓冲中提取消息再送到 Kafka 代理上去。本地缓冲区大小由 buffer.memory 来配置,默认为 32M(32 * 1024 * 1024L...

2018-11-01 15:10:52

阅读数 123

评论数 0

Java 8 Map 中新增的方法使用记录

得益于 Java 8 的 default 方法特性,Java 8 对 Map 增加了不少实用的默认方法,像 getOrDefault, forEach, replace, replaceAll, putIfAbsent, remove(key, value), computeIfPresent, ...

2018-10-31 13:16:38

阅读数 112

评论数 0

Spring Boot 与 Logback 日志配置

本文记录 Spring Boot 与 Logback 是如何工作的,即记录 Spring Boot 中 Logback  是怎么一步一步初始化的。用以测试的 Spring  Boot 版本是 1.5.16, 而非最新的 Spring Boot 2。关于 Spring Boot 日志的官方文档在 L...

2018-10-08 14:51:41

阅读数 72

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭