Haauleon Blog

我干了什么 究竟拿了时间换了什么

Python3 | asyncio 的应用

asyncio 的使用方式和使用场景是什么?

asyncio asyncio 官方文档说明: asyncio is a library to write concurrent code using the async/await syntax. asyncio is used as a foundation for multiple Python asynchronous frameworks that provide...

Python3 | 函数和方法

python 中函数和方法的区别

函数(FunctionType) 函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。 可以直接在模块中进行定义使用。 所有传递给函数的数据都是显式传递的。 方法(MethodType) 方法和函数类似,同样封装了独立的功能,但是方法是只能依靠类或者对象来调用的,表示针对性的操作。 方法...

Python3 | 关键字

列举了 3.7 版本所有的关键字及其定义

背景   Python 的关键字也称为保留字,是这个解释器里面已经定义好了的,具有特殊的含义。解释器也是程序,如果用户自定义的变量、函数、类等名称与保留字重名,那么解释器会提醒 SyntaxError: invalid syntax。   查看当前 Python 版本的保留字,只需要在交互模式下输入以下代码: 1 2 import keyword keyword.kwlist 运行结果...

Python3 | 常见的解释器

用的最多的是 CPython 和 IPython

背景   Python 是一门解释性语言,也是就需要依赖解释器去运行。换句话说,一个 xxx.py 文件需要 Python 解释器去执行。   目前用的最多的是 CPtyhon 和 IPython。CPtyhon 解释器在命令行下执行文件,而 IPython 解释器我是在 VSCode 里面装的一个插件,每次想要在交互式窗口执行文件时就自动启动一个 Jupyter 服务器用来调试代码,Ju...

Python3 | 绑定与未绑定方法

类中的绑定方法与未绑定方法的区别

与类和实例无绑定关系的 function 都属于函数(function) 与类和实例有绑定关系的 function 都属于方法(method) 类中的方法有两类:绑定方法和非绑定方法。 一、绑定方法 1.对象的绑定方法   凡是类中的方法或函数,默认情况下都是绑定给对象使用的。以下的结果表明:Foo.instance_method 这个方法是绑定给 Foo objec...

Python3 | 鸭子类型

鸭子类型的含义与其在 python 中的表现形式

鸭子类型 在 python 中的表现形式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class Duck: def quack(self): print("呱呱呱!") def feathers(self): print("这个鸭子拥有灰白灰白的羽毛。")...

Python3 | 函数式编程

map、filter 的使用

背景   在 Python 的函数式编程中的 map() 和 filter() 函数,均可用 for 循环来实现,那么为什么还需要 map() 和 filter() 函数呢?主要是因为 Python 的 for 命令效率不高且复杂,而 map() 和 filter() 更为高效和简洁,map() 和 filter() 的循环速度比 Python 内置的 for 或 while 循环要快得多,...

macOs | 端口占用查询

解决端口冲突的问题

背景   之前在玩 mitmproxy 的时候,使用 mitmdump 命令启动监听,该命令会占用本地 8080 端口。由于启动 jenkins 服务时默认用的是 8080 端口,所以冲突了。 使用技巧 如果已有其他进程占用此端口,可通过以下操作解决: 1 2 $ lsof -i tcp:port # 查看占用 port 的进程 $ kill -9 PID # ...

Python3 | Pythoneer 必备品质

努力写出具有 pythonic 风格的代码

背景   python 语言的最大特点就是整洁,但我老是按照其他语言的思路来写代码,经常导致代码繁琐复杂。所以,要努力学习,努力写出具有 pythonic 风格的代码,才有勇气在别人面前说我会写 python,而不是只会写 hello world 的菜瓜。 代码片段 变量值交换   以前使用最多的方式就是通过中间变量来进行交换。如下: 1 2 3 4 5 6 7 8 a = 10 b ...

禅道 | Python3 脚本创建 bug

写了一个创建 bug 的 python3 脚本 demo

背景   写了一个简单的脚本去禅道上创建 Bug,具体到时候怎么使用这个脚本还待研究。 代码实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 5...