shan

操作系统-虚拟化

虚拟化 操作系统 CPU 内存

本文为操作系统导论中关于虚拟化部分的读书笔记。其中主要涉及CPU虚拟化,内存虚拟化的策略及相关知识。

Read more

python面向对象的原则

python OOP SOLID
本文是阅读 python工匠系列 面向对象代码的原则的简单记录。 Python 拥有类、继承、多态等核心 OOP 特性,当与那些完全基于 OOP 的语言相比,它简化了很多 ,比如它 没有严格的类私有成员,没有接口(Interface)对象 等。 Python 灵活的函数对象、鸭子类型等许多动 ...
Read more

Python concurrent.futures 模块实现并发

python concurrent
原文标题:Effortless Concurrency with Python’s concurrent.futures 用 Python 编写并发的代码是十分棘手的。你需要担心这些棘手的问题,例如手头上的任务是 I/O 还是 CPU 相关的,或者是否为实现并发性付出额外的努力甚至给你带来所 ...
Read more

Python eval() - 动态执行表达式

python eval
本文是一篇关于python eval() 函数的翻译文章,为个人学习使用。 原文地址:Python eval(): Evaluate Expressions Dynamically 进度:未完成 Python 的 eval() 方法允许你去执行任意的基于字符串 (string-based ...
Read more

Inside The Python Virtual Machine

python vm

ps. 本文翻译自:Inside The Python Virtual Machine,文中有许多词不达意的地方,为个人学习翻译。

Read more

在Python中实现接口

python interface

原文:Implementing an Interface in Python

在软件工程中,接口扮演者一个重要的角色。随着应用的发展,代码库升级和更改变得越来越难以管理。通常,你会遇到一些看上去很相似但却不相关的类,这可能会导致一些困惑。在这篇文档中,你会看到如何使用Python的接口去决定对于解决当前问题什么样的类是你需要的。

在这篇文章中,你能够

  • 懂得接口是如何工作的以及Python接口创建的注意事项
  • 理解在像Python这样的动态语言中接口的有用性
  • 实现一个非正式的Python接口
  • 使用 abc.ABCMeta@abc.abstractmethod 去实现一个正式的Python接口

Python中的接口与大多数其他语言的处理方式不同,并且它们的设计复杂度可能会有所不同。在本篇文档结束时,你将会更好地理解Python数据模型的某些方面,以及Python中的接口与Java,C ++和Go等语言的接口相比有什么不同。

Read more

python 函数重载

重载 命名空间 python

原文:Overload Functions in Python

原文代码位置:代码demo

本文为 overload function in python 的翻译文章。

函数重载就是可以存在多个具有相同名称但签名/实现不同的函数。当调用重载函数 fn 时,运行时首先判断传递给函数调用的参数,并以此判断来调用相应的实现。本文通过创建用户维护的虚拟命名空间和装饰器,从而在python 中实现了函数的重载。

Read more

Python '!=' 不同于 'is not': 在 Python 中比较对象

python identity equality

原标题:Python ‘!=’ Is Not ‘is not’: Comparing Objects in Python

原地址:https://realpython.com/python-is-identity-vs-equality/

Python 中的一致操作符 (is) 和 相等的操作符 (==) 之间有些微妙的不同。直到某些情况之前,当你使用 python is 操作符比较两个数字 (number) 时,你的代码都可以运行的非常好。你可能听说过在某些情况下,is 操作符要比 == 操作符执行的更快,或者你可能感觉前者看起来更加的 pythonic 。然而,需要谨记的是这些操作符所表达的含义并不相同。

操作符 == 比较的是两个对象的值是否相等,而 is 操作符是用来检查两个变量是否指向内存中同一个对象。在绝大多数的情况下,这意味着应该使用相等操作符 ==!= ,除非你是和 None 进行比较。

在这篇文章中,你将会看到:

  • 对象相等和相同之间有什么不同

  • 比较对象时,何时使用相等操作符,何时使用一致操作符

  • Python 操作符如何实现的

  • 为什么使用 isis not 比较两个值会导致一些不可预测行为

  • 如何写一个常规的 __eq__() 类中的方法去定义相等操作行为

Read more

es滚动索引 —— Rollover api

elasticsearch 滚动索引 rollover api

当索引过大或过于老旧时,可以使用rollover api创建新的索引;
这个api接受一个别名和一组条件,别名必须指向一个正在工作的索引,一组条件包括:max_age,max_docs,max_size.

Read more

requests post中文名文件

requests python

这两天使用requests库向一些测试接口post文件的时候,服务器报错,查了半天,发现好像是中文字符导致的问题,遂寻找以下解决办法。

Read more
Prev Next