
腾蛇起陆
文章平均质量分 72
团子大圆帅
【公众号】团子大圆帅
展开
-
Python 中 functools.wraps 简介
在人类世界中有一些大佬,经过细心装扮之后,自身的属性可以变得让人雌雄莫辨。(我没有在说 Abbily,我是在说花木兰!)在 Python 世界中也是一样,一些函数经过装饰器的悉心装饰之后,一些属性也会变得令人迷惑。先定义一个啥都不干,但很淳朴的函数,顺便看看它的函数名和文档字符串:def iron_egg(): """我是铁蛋儿~""" returnprint(iron_egg.__name__)print(iron_egg.__doc__)"""输出:iron_egg.原创 2020-12-28 17:07:38 · 875 阅读 · 0 评论 -
Python 3.8 的赋值表达式与海象运算符
1. 简介Python 3.8 引入了 PEP 572 中描述的新特性——赋值表达式,该语法由 Emily Morehouse 实现。没错,就是下面这个妹子。2. 语法与语义赋值表达式,这是 PEP 572 标题中使用的官方正式名称,英文是 Assignment Expressions。也可以称作具名表达式,英文是 Named Expressions。它涉及到的新操作符 := 被亲切地称作海象运算符,英文是 the walrus operator,因为冒号 : 像是海象的一对小眼睛,等号 = 像是原创 2020-12-04 10:29:20 · 1650 阅读 · 0 评论 -
Python 中 str.maketrans 和 str.translate 的使用
Python 中 str.maketrans 和 str.translate 的使用文章目录Python 中 str.maketrans 和 str.translate 的使用1. str.maketrans2. str.translate1. str.maketrans首先查看一下 str.maketrans 的帮助文档:>>> help(str.maketrans...原创 2019-02-03 16:34:02 · 7311 阅读 · 3 评论 -
查看 Python解释器路径的两种方式
查看 Python 解释器路径运行以下脚本,或者进入交互模式手动输入即可。import sysimport osprint('当前 Python 解释器路径:')print(sys.executable)r"""当前 Python 解释器路径:C:\Users\jpch89\AppData\Local\Programs\Python\Python36\python.E原创 2019-01-16 18:47:27 · 68263 阅读 · 4 评论 -
Python 类中的普通函数、静态方法、类方法和实例方法的调用规范
Python 类中的普通函数、静态方法、类方法和实例方法的调用规范文章目录Python 类中的普通函数、静态方法、类方法和实例方法的调用规范1. 代码2. 总结1. 代码直接上代码:class Test: def normal_function(): print('我是普通函数!') @staticmethod def static_metho...原创 2019-01-18 08:35:19 · 1880 阅读 · 0 评论 -
我们在 Python 中使用 for 循环迭代时到底做了什么
使用 for 循环迭代一般写成:for i in x: ...首先看 x 是否实现了 __iter__ 方法,这个方法的返回值是一个迭代器。如果 x 实现了 x.__iter__() 方法,那么使用 iter(x) 得到 x 的迭代器 it_x。然后对迭代器 it_x 不断地调用 next(it_x),把每次返回的元素给 i。最终迭代器元素耗尽,捕获到 StopIteration...原创 2019-01-01 12:57:10 · 701 阅读 · 0 评论 -
Python 中的 all() 和 any()
Python 中的 all() 和 any()原创 2018-12-27 09:24:03 · 519 阅读 · 0 评论 -
Python 中的浅拷贝和深拷贝详解
Python 中的浅拷贝与深拷贝文章目录Python 中的浅拷贝与深拷贝1. 浅拷贝1.1 浅拷贝定义1.2 浅拷贝实现2. 深拷贝2.1 深拷贝定义2.2 深拷贝实现3. 不可变对象的深浅拷贝1. 浅拷贝1.1 浅拷贝定义浅拷贝创建了与某对象具有相同值的另一个对象,即两个对象的内存地址不同。但是,这两个对象内部的子对象仍然是同一个对象,即内部子对象内存地址相同。简单地说,外部进行...原创 2018-12-16 10:52:40 · 319 阅读 · 0 评论 -
Python 借助逆波兰表达式(后缀表达式)实现简单计算器
Python 借助逆波兰表达式(后缀表达式)实现简单计算器文章目录Python 借助逆波兰表达式(后缀表达式)实现简单计算器0. 参考资料1. 中缀表达式转后缀表达式2. 后缀表达式的求值3. Python 代码实现4. 待完善0. 参考资料中缀表达式转换为后缀表达式后缀表达式的计算1. 中缀表达式转后缀表达式中缀表达式转后缀表达式的过程中需要两个主要存储结构。用于存放最...原创 2018-12-04 07:08:23 · 2182 阅读 · 0 评论 -
Effective Python 读书笔记——第 3 条
Effective Python 读书笔记——第 3 条第 3 条:了解 bytes、str 与 unicode 的区别Python 3 中有两种字符串:str 类型:它的实例包含 Unicode 字符bytes 类型:它的实例包含原始的字节Python 2 中也有两种字符串:unicode 类型:它的实例包含 Unicode 字符str 类型:它的实例包含原始的字节二进...原创 2018-12-01 23:14:38 · 223 阅读 · 0 评论 -
Python 中的代码对象 code object 与 __code__ 属性
Python 中的代码对象 code object 与 __code__ 属性文章目录Python 中的代码对象 `code object` 与 `__code__` 属性0. 参考资料1. 概念2. 探索0. 参考资料What is a code object in Python?(本文大部分借鉴、翻译自这篇文章)inspect — Inspect live objectsPy...原创 2019-02-04 21:14:43 · 13563 阅读 · 0 评论 -
Python 生成器与它的 send,throw,close 方法
Python 生成器与它的 send,throw,close 方法文章目录Python 生成器与它的 send,throw,close 方法0. 参考资料1. 生成器简介1.1 生成器的定义方式1.2 生成器与迭代器的关系2. 生成器对象的专属方法2.1 生成器的 send 方法2.1.1 参考帮助文档2.1.2 send 方法详解2.2 生成器的 throw 方法2.2.1 参考帮助文档2....原创 2019-02-12 00:41:57 · 3853 阅读 · 2 评论 -
Python 中的排序工具:sort 与 sorted 详解
Python 中的排序工具:sort 与 sorted 详解文章目录Python 中的排序工具:sort 与 sorted 详解0. 参考资料1. 排序基础0. 参考资料Sorting HOW TO1. 排序基础Python 中提供了两种排序工具:list.sort() 方法,它会在原地修改列表。sorted() 内置函数,从可迭代对象生成一个新的排序后的列表。最基本...原创 2019-05-27 18:20:43 · 1418 阅读 · 0 评论 -
Python 虚拟环境管理工具介绍(virtualenv、virtualenvwrapper、pipenv)
Python 虚拟环境管理工具介绍文章目录Python 虚拟环境管理工具介绍1. 虚拟环境简介2. virtualenv 介绍3. virtualenvwrapper 介绍4. 虚拟环境迁移5. pipenv 介绍1. 虚拟环境简介考虑以下场景:当我们需要同时维护一个由 Django 1.0 版本驱动的老项目和开发一个使用 Django 2.0 版本的新项目时,如何顺滑的在两种开发环...原创 2019-04-23 18:44:00 · 2361 阅读 · 0 评论 -
Python 中 int 用法详解
Python 中 int 的少见用法之进制转换文章目录Python 中 int 的少见用法之进制转换0. 参考资料1. int 的常见用法2. int 用于进制转换0. 参考资料Python 官方文档1. int 的常见用法众所周知,int 可以将一个字符串转换为十进制的数字,这也是它最常见的用法:num = input('请输入一个数字:')print(type(num)...原创 2019-05-02 21:29:33 · 70446 阅读 · 4 评论 -
Effective Python 读书笔记——第 4 条
第 4 条:用辅助函数来取代复杂的表达式团子大圆帅:本条体现了两点 Python 之禅。Beautiful is better than ugly.Simple is better than complex.from urllib.parse import parse_qs# 解析查询字符串 query stringmy_values = parse_qs('red=5&am...原创 2019-04-08 21:40:15 · 225 阅读 · 0 评论 -
详解 Python 中的 yield from 语法
详解 Python 中的 yield from 语法文章目录详解 Python 中的 yield from 语法0. 参考资料1. 语法和语义描述2. 扩展了 StopIteration3. 等价代码4. 重构注意事项5. 图解分析0. 参考资料PEP 380 – Syntax for Delegating to a SubgeneratorHow Python 3.3 “yield...原创 2019-02-20 09:57:34 · 753 阅读 · 0 评论 -
涉及嵌套分组与命名分组的正则练习一则
涉及嵌套分组与命名分组的正则练习一则文章目录涉及嵌套分组与命名分组的正则练习一则1. 题目2. 使用嵌套分组3. 使用命名分组1. 题目有文本若干行如下,请写出正则匹配出以 param 开头的参数信息,输出格式为:字段名称、字段类型(不带尖括号)、是否可选(不带尖括号)和字段含义四部分内容。"""#param nickname <str> 昵称#param...原创 2019-02-28 12:39:32 · 648 阅读 · 0 评论 -
Python 中 concurrent.futures 模块使用说明
Python 中 concurrent.futures 模块使用说明文章目录Python 中 concurrent.futures 模块使用说明0. 参考资料1. 概述2. Executor Object 执行器对象3. ThreadPoolExecutor 线程池执行器4. ThreadPoolExecutor 例子5. ProcessPoolExecutor 进程池执行器6. Proces...原创 2019-02-18 20:31:49 · 28783 阅读 · 7 评论 -
Python 中类的作用域问题
Python 中类的作用域问题今天写一段小代码的时候犯傻了,我试图在类中的方法中直接访问类中的变量,大概是这样写的:class Test: a = 1 def __init__(self): print(a)t = Test()"""NameError: name 'a' is not defined&qu原创 2019-02-27 17:41:35 · 1237 阅读 · 0 评论 -
Python 冷知识一则
单纯以下划线命名的类,里面的方法不会进行命名重整 name mangling,也就是说以双下划线开头的私有方法可以直接访问,不用通过 _类名__方法名 的形式。class _: def __method(self): print('我被调用了')obj = _()obj.__method()"""我被调用了"""...原创 2018-11-27 14:09:40 · 344 阅读 · 0 评论 -
Python 3.7.1 中 namedtuple 具名元组基本用法详解
Python 3.7.1 中 namedtuple 具名元组基本用法详解文章目录Python 3.7.1 中 namedtuple 具名元组基本用法详解0. 参考资料1. 概述2. namedtuple() 定义与参数2.1 typename 参数2.2 field_names 参数2.3 rename 参数2.4 defaults 参数2.5 module 参数2.6 补充和历代版本变化3....原创 2018-11-30 10:55:02 · 6697 阅读 · 0 评论 -
解决 pipenv 安装第三方库时卡住:更换国内源
解决 pipenv 安装第三方库时卡住的问题:更换国内源解决 pipenv 安装第三方库时卡住的问题:更换国内源0. 参考资料1. 问题描述2. 国内源的选择3. 更换清华源4. 完成0. 参考资料https://stackoverflow.com/questions/50719957/how-to-change-the-source-for-the...原创 2018-08-22 22:57:16 · 35099 阅读 · 2 评论 -
Ubuntu 中创建 PyCharm 桌面快捷方式并固定到快速启动栏(含 sudo 版本)
Ubuntu 中创建 PyCharm 桌面快捷方式并固定到快速启动栏Ubuntu 中创建 PyCharm 桌面快捷方式并固定到快速启动栏1. 创建 pycharm.desktop 文件2. 添加可执行权限并信任3. 固定 PyCharm 到快速启动栏1. 创建 pycharm.desktop 文件首先切换目录到桌面: cd ~/桌面用 vim 创...原创 2018-08-16 12:19:15 · 38617 阅读 · 13 评论 -
Python Challenge 第 5 关攻略:peak hell
Python Challenge 第 5 关攻略:peak hell题目地址 http://www.pythonchallenge.com/pc/def/peak.html题目内容 pronounce it题目解法这一题角度刁钻,对非英语母语的人有一些难度。网页标题是 peak hell图片是一个山峰,即 peak页面文字提示 pronounce it...原创 2018-08-02 22:48:41 · 1776 阅读 · 1 评论 -
Python Challenge 第 4 关攻略:follow the chain
Python Challenge 第 4 关攻略:follow the chain题目地址 http://www.pythonchallenge.com/pc/def/linkedlist.php题目内容 题目解法网页的标题是 follow the chain 追随链条网页的 URL 地址是 linkedlist 链表图中也是链条首先查看网页源代码,发现...原创 2018-08-02 20:25:53 · 420 阅读 · 0 评论 -
Python Challenge 第 3 关攻略:re
第 3 关:re题目地址 http://www.pythonchallenge.com/pc/def/equality.html题目内容 One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.To see the solutions to the previou...原创 2018-07-29 16:01:57 · 966 阅读 · 0 评论 -
Python Challenge 第 2 关攻略:ocr
Python Challenge 第 2 关:ocr题目地址 http://www.pythonchallenge.com/pc/def/ocr.html题目内容 recognize the characters. maybe they are in the book, but MAYBE they are in the page source.General tips:...原创 2018-07-29 13:55:39 · 874 阅读 · 0 评论 -
Python Challenge 第 1 关攻略:What about making trans?
第 1 关:What about making trans?题目地址 http://www.pythonchallenge.com/pc/def/map.html题目内容 everybody thinks twice before solving this. g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq...原创 2018-07-29 11:57:32 · 834 阅读 · 0 评论 -
Python Challenge 第 0 关攻略:warming up
Python Challenge 第 0 关:warming up题目地址 http://www.pythonchallenge.com/pc/def/0.html题目内容 Hint: try to change the URL address.题目解法 图中提示是 2 的 38 次方 用 Python 计算出答案>>> 2 ** 382...原创 2018-07-29 10:42:25 · 841 阅读 · 0 评论 -
为什么原始字符串不能以单个反斜杠结尾?
文章目录0. 参考资料1. 现象2. 解释3. 解决0. 参考资料Why can’t Python’s raw string literals end with a single backslash?1. 现象Python 的原始字符串有很多应用场景,比如用来表示 Windows 的路径和应用于正则表达式中。但是在使用的时候却发现,原始字符串无法以单个反斜杠结尾,或者说,原始字符串无...原创 2018-10-28 22:54:05 · 3891 阅读 · 2 评论 -
Python 中 property() 函数及 @property 装饰器的使用
Python 中 property() 函数及 @property 装饰器的使用文章目录Python 中 property() 函数及 @property 装饰器的使用0. 参考资料1. property 应用场景0. 参考资料Python property() 函数使用@propertyPython进阶-----property用法(实现了get,set,delete三种方法)...原创 2018-11-13 12:36:48 · 40107 阅读 · 15 评论 -
pip 包管理工具使用详解
pip 包管理工具使用详解文章目录pip 包管理工具使用详解0. 参考资料1. 安装与卸载包2. pip 自身升级与换国内源3. 查看相关信息4. `requirements.txt` 文件导出与安装0. 参考资料https://pip.pypa.io/en/stable/reference/https://blog.youkuaiyun.com/yuzaipiaofei/article/det...原创 2018-11-11 13:41:18 · 965 阅读 · 0 评论 -
Python 的实例方法、类方法和静态方法
Python 的实例方法、类方法和静态方法文章目录Python 的实例方法、类方法和静态方法0. 参考资料1. 概览1.1 实例方法1.2 类方法1.3 静态方法2. 实际应用2.1 调用实例方法2.2 调用类方法2.3 调用静态方法2.4 不创建实例调用方法3. 使用类方法实现披萨工厂4. 何时使用静态方法5. 总结0. 参考资料Python’s Instance, Class, a...原创 2018-11-24 15:01:15 · 377 阅读 · 0 评论 -
用 Python 切换输入法
用 Python 切换输入法文章目录用 Python 切换输入法0. 前言及参考资料1. 脚本0. 前言及参考资料前言 本来是想做一个 Sublime Text 3 的小插件,解决 vim 模式下,退出插入模式进入命令模式的时候,输入法没有办法自动切换到英文的这个问题。 后来看了一下文档好像有点门槛,准备以后再弄吧,暂时写一个 Python 切换输入法的小脚本试试。其实准确来讲应...原创 2018-11-20 09:07:42 · 10578 阅读 · 6 评论 -
Python 中 str.format() 方法详解
Python 中 str.format() 方法详解文章目录Python 中 str.format() 方法详解0. 参考资料1. 术语说明2. 简单字段名2.1 简单字段名的说明2.2 省略字段名2.3 数字形式的简单字段名2.4 变量名形式的简单字段名2.5 简单字段名的混合使用2.6 使用元组和字典传参3. 复合字段名3.1 复合字段名的说明3.2 `.` 点号的使用3.3 `[]` 方...原创 2018-11-15 10:03:12 · 122006 阅读 · 43 评论 -
Python + Selenium 爬取网易云课堂课时标题及时长
Selenium 爬取网易云课堂课时标题及时长文章目录Selenium 爬取网易云课堂课时标题及时长软件安装目标页面代码说明study163seleniumff.pyhelper.py最终结果软件安装seleniumpip install seleniumgeckodriverhttps://github.com/mozilla/geckodriver/releases/目...原创 2018-11-16 17:32:37 · 1017 阅读 · 0 评论 -
Python 中 raise 和 raise/from 的区别
Python 中 raise 和 raise/from 的使用方法文章目录Python 中 raise 和 raise/from 的使用方法0. 参考资料1. 代码比较2. 用法解释2.1 raise2.2 raise A from B3. 总结0. 参考资料Python “raise from” usageThe raise statementBuilt-in Exception...原创 2018-11-21 11:50:15 · 14294 阅读 · 3 评论 -
Effective Python 读书笔记——第 2 条
Effective Python 读书笔记——第 2 条第 2 条:遵循 PEP8 风格指南8 号 Python 增强提案,又叫 PEP 8Python Enhancement Proposal #8http://www.python.org/dev/peps/pep-0008空白 whitespace 会影响代码的含义。使用四个空格 space 缩进,不要用制表符 tab每行字...原创 2018-11-20 23:23:03 · 229 阅读 · 0 评论 -
Effective Python 读书笔记——第 1 条
Effective Python 读书笔记——第 1 条第 1 条:确认自己所用的 Python 版本python --versionpython3 --version或者:import sysprint(sys.version_info)print(sys.version)结果为:sys.version_info(major=3, minor=6, micro=6, r...原创 2018-11-20 21:24:59 · 330 阅读 · 0 评论