单例模式一种常见的设计模式,并且也是最基础的设计模式,需要每个开发人员都熟练掌握。 当你希望在整个系统中,某个类只能出现一个实例时,就需要学会使用单例模式。 比较常见的场景是:某个项目的配置信息存...
Python 高手进阶
Python 3.10 新特性(二):联合类型操作符 “|” 的诞生
继续给大家介绍 Python 3.10 的新特性,今天要给大家介绍的是 联合类型操作符。 在以前,我们判断一个类型是否是某几个类型中的一个的时候,一般可以这么写的 def check_type_str_or_int(obj): if isinstan...
Python 3.10 新特性(一):结构模式匹配 match-case 的使用
就在前几天( 2021年10月4日) Python 终于正式发布了 3.10 版本,看了下这个版本的一些特性,最受关注的应该就是 结构模式匹配 了吧?也就是大家所熟悉的 switch-case ,写错了不好意思,是 match-case。 下边...
面试官:你如何破解 Python 的 GIL 的?
1. GIL 是什么? 在讲如何破解 GIL 的时候,首先要和你达成一个共识,那就 Python 中由于有 GIL 的存在,使得 Python 中的多线程即使在有多核的机器上,在同一时刻也只有一个线程在跑。 因此有不少人说,Python...
如何不使用 @,来调用 Python 装饰器
1. Flask 的经典范例 若你有学习过 flask ,下面这个经典的入门示例,你一定非常熟悉 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' 这些...
在 Python 中,如何替换实例的方法?
思路一:简单替换 当你想对类实例的方法进行替换时,你可能想到的是直接对他进行粗暴地替换 class People: def speak(self): print("hello, world") def speak(self): print("hello, python"...
Python 炫技操作(十):调用函数的九种方法
方法一:直接调用函数运行 这种是最简单且直观的方法 def task(): print("running task") task() 如果是在类中,也是如此 class Task: def task(self): print("running task") Task().tas...
择优选择 Python 中的 EAFP 和 LBYL 代码风格
1. EAFP 风格 Python 有一套自己的哲学,其中 EAFP 是其中比较有名的。它的全称是 Easier to Ask for Forgiveness than Permission 强行翻译一下,就是 寻求原谅比获得授权更容易。 对于第一次接触这个 E...
Python 炫技操作(八):安装包的八种方法
1. 使用 easy_install easy_install 这应该是最古老的包安装方式了,目前基本没有人使用了。下面是 easy_install 的一些安装示例 # 通过包名,从PyPI寻找最新版本,自动下载、编译、安装 $ easy_install pkg_na...
图解九大经典排序算法(Python 代码实现)
排序算法,可谓是算法中的基础,在面试中,也是面试官最喜欢考察的。经常会让你手写一个选择排序、冒泡排序,如果能在最短的时间内顺畅地写出来,一定会让面试官眼前一亮。 这次我准备以这篇文章,以最通俗简短...