Python 入门与进阶
文章平均质量分 93
分享 Python 进阶技巧,实用开发技巧,以及好用的 Python 类库
写代码的明哥
懂点 Python 的云计算工程师。
展开
-
来了!Python 官方发布了整套的中文PDF 文档(共27本)
1. 《Python中文指南》学 Python 最好的学习资料永远是 Python 官方文档,可惜现在的官方文档大都是英文,虽然有中文的翻译版了,但是进度实在堪忧。为了照顾英文不好的同学,我自己写了一份 面向零基础的朋友 的在线 Python 文档 – 《Python中文指南》(在线阅读:http://python.iswbm.com )该文档面向的是完全没有基础的小白,从安装 Python 、开发环境搭建,再到基础语法的讲解,全部都是我一个字一个字敲出来的,是经过我消化过后,精炼总结的,内容通俗易原创 2021-06-10 12:46:21 · 41590 阅读 · 74 评论 -
终结 Python 原生字典?这个库要逆天了
本篇文章收录于《Python黑魔法手册》v3.0 第七章,手册完整版在线阅读地址:ython黑魔法手册 3.0 文档字典是 Python 中基础的数据结构之一,字典的使用,可以说是非常的简单粗暴,但即便是这样一个与世无争的数据结构,仍然有很多人 “用不惯它” 。也许你并不觉得,但我相信,你看了这篇文章后,一定会和我一样,对原生字典开始有了偏见。我举个简单的例子吧当你想访问字典中的某个 key 时,你需要使用字典特定的访问方式,而这种方式需要你键入 一对中括号 还有 一对引号>>&g原创 2021-05-24 21:24:45 · 354 阅读 · 2 评论 -
一个已经存在10年,却被严重低估的 Python 库
本文已经收录于《Python黑魔法手册》v2.1 版本,在线文档请前往Python黑魔法手册 2.0 文档今天介绍的是一个已经存在十年,但是依旧不红的库 decorator,好像很少有人知道他的存在一样。这个库可以帮你做什么呢 ?其实很简单,就是可以帮你更方便地写python装饰器代码,更重要的是,它让 Python 中被装饰器装饰后的方法长得更像装饰前的方法。本篇文章不会过多的向你介绍装饰器的基本知识,我会默认你知道什么是装饰器,并且懂得如何写一个简单的装饰器。不了解装饰器的可以先去阅读我原创 2021-04-21 13:02:29 · 7100 阅读 · 129 评论 -
没想到代码还能这么调试,这么多年 Python 白玩了
关于代码调试的技巧,我之前写过很多的文章,加起来也有 将近 10 篇了,关注比较早的同学,也应该都有看过。还没看过的同学,欢迎前往查阅:第九章:调试技巧其中有一篇是关于 pdb 的调试技巧的:里面介绍了两种 pdb 的调试入口,也是大部分所熟知的。这里再带大家回顾一下第一种:指定 -m pdb 来开启$ python -m pdb pdb_demo.py第二种:使用 pdb.set_trace() 在代码中设置断点import pdbpdb.set_trace()但其实,pdb 还另原创 2021-03-17 09:00:32 · 216 阅读 · 0 评论 -
使用 Python 对接 PicGo,实现自动添加水印并上传
1. 天下苦搬运党久矣对于我这样经常需要写点文章的技术自媒体来说,很经常早上我才在公众号首发了原创文章,中午就有人同步到了知乎、今日头条等外部平台,并且拿到了该篇文章在这些平台的首发。平台的首发很重要,以微信的公众号平台来说,一篇文章能否在公众号标原创,就是通过检测是否在公众号平台上首发,如果公众号的文章库里没有搜索到与你文章相似度较高的文章,那么你就可以标原创了。为了解决了首发的问题,我付费使用了 OpenWrite 这个平台,每个月 20 块钱的费用,一键就可以分发各大平台,非常的省心~首发固原创 2021-03-08 09:11:05 · 2427 阅读 · 43 评论 -
还在用 open 读文件?out 了,这个库比 open 好用 100 倍
使用 open 函数去读取文件,似乎是所有 Python 工程师的共识。今天明哥要给大家推荐一个比 open 更好用、更优雅的读取文件方法 -- 使用 fileinputfileinput 是 Python 的内置模块,但我相信,不少人对它都是陌生的。今天我把 fileinput 的所有的用法、功能进行详细的讲解,并列举了一些非常实用的案例,对于理解和使用它可以说完全没有问题。1. 从标准输入中读取当你的 Python 脚本没有传入任何参数时,fileinput 默认会以 stdin 作为输入源#原创 2021-03-02 12:51:46 · 365 阅读 · 28 评论 -
卸载 PyCharm!这才是 Python 小白的最理想的 IDE
若你在搜索引擎(如百度)或者各种问答社区(如知乎)搜索『学习Python 最好的 IDE/编辑器是哪个?』我想答案肯定是:PyCharm、Jupyter、VSCode、Vim、Sublime Text不过,在我看来,最好的编辑器 应当视情况而定,比如如果你是搞数据分析、机器学习的,推荐你使用 Jupyter如果是搞大型工程项目的,经常要阅读开源项目代码,推荐你使用 PyCharm如果你需要使用多种编辑语言,并且不喜欢使用 JB 家的破解版软件,推荐你使用 VS Code如果你闲得淡疼、追求极客原创 2021-02-20 10:44:08 · 3698 阅读 · 40 评论 -
2021 年情人节最新的表白神器(Python 制作,源码已开放)
大家好,我是明哥。关注得早的读者,应该还记得去年的今天,也就是情人节,明哥给大家整了一个 表白神器,这个神器是用 Python 写的一个小脚本,它可以将你女神的照片转换成由字符组成的另一张照片,大概的效果如下。这是转换前的这是转换后的(注意放大看)整个脚本的代码虽然只有 20 行左右,但是大家都知道 Python 脚本的运行是需要 Python 环境的,如果这个脚本中有使用第三方库的话,还需要额外安装一堆 Python 库。这也就意味着,对于一个毫无 Python 使用经验的同学来说,想要把脚本原创 2021-02-14 18:02:14 · 5187 阅读 · 26 评论 -
大佬开源「抢茅台脚本」,火了
12 月我在朋友圈看到非常多的人开始在某东上抢茅台,抢到的话一瓶只要 1499 元,转手一卖就能净赚 1000 块钱,这简直就是白送钱的事嘛?就算不卖,自己囤着过个几年价格肯定又要上涨。像这种好事,我当然第一时间去体验了,抢了几天后,却抢了个寂寞。好在前两天看到有大佬在 Github 上开源了一个抢茅台的脚本(https://github.com/huanghyw/jd_seckill),目前已经 1.4k ,我前一天看的时候才 500 star,是真的火起来了,不得不感叹,这传播速度也太大了吧。看了原创 2020-12-29 20:32:24 · 27574 阅读 · 172 评论 -
活久见~ Python 装包八种方法,你都 OK 吗?
1. 使用 easy_installeasy_install 这应该是最古老的包安装方式了,目前基本没有人使用了。下面是 easy_install 的一些安装示例# 通过包名,从PyPI寻找最新版本,自动下载、编译、安装$ easy_install pkg_name# 通过包名从指定下载页寻找链接来安装或升级包$ easy_install -f http://pythonpaste.org/package_index.html # 指定线上的包地址安装$ easy_install http原创 2020-12-22 15:22:28 · 1406 阅读 · 0 评论 -
吹爆了这个可视化神器,一行代码就能绘制所有酷炫图表
本文中介绍的一个可视化神器:plotly_express,将会从以下几个方面进行讲解:plotly_express简介plotly_express安装基于plotly_express绘制多种图形1. 环境准备本文的是在如下环境下测试完成的。Python3.7Jupyter notebookPandas1.1.3Plotly_express0.4.1其中 Plotly_express0.4.1 是本文的主角,安装它非常简单,只需要使用 pip install 就可以$ pytho原创 2020-12-16 20:36:39 · 1768 阅读 · 2 评论 -
恶补了 Python 装饰器的六种写法,你随便问~
Hello,装饰器装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。装饰器的使用方法很固定先定义一个装饰器(帽子)再定义你的业务函数或者类(人)最后把这装饰器(帽子)扣在这个函数(人)头上就像下面这样子# 定义装饰器de原创 2020-12-14 13:05:04 · 256 阅读 · 0 评论 -
Python 炫技操作:五种 Python 转义表示法
1. 为什么要有转义?ASCII 表中一共有 128 个字符。这里面有我们非常熟悉的字母、数字、标点符号,这些都可以从我们的键盘中输出。除此之外,还有一些非常特殊的字符,这些字符,我通常很难用键盘上的找到,比如制表符、响铃这种。为了能将那些特殊字符都能写入到字符串变量中,就规定了一个用于转义的字符 \ ,有了这个字符,你在字符串中看的字符,print 出来后就不一定你原来看到的了。举个例子>>> msg = "hello\013world\013hello\013python"&原创 2020-11-26 15:24:43 · 663 阅读 · 0 评论 -
求你了,别再使用 print 调试代码了
给大家推荐本我自己写的电子书《PyCharm中文指南》,把各种 PyCharm 的高效的使用技巧用GIF动态图的形式展示出来。有兴趣的可以看它的在线文档:http://pycharm.iswbm.com对于每个程序开发者来说,调试几乎是必备技能。代码写到一半卡住了,不知道这个函数执行完的返回结果是怎样的?调试一下看看代码运行到一半报错了,什么情况?怎么跟预期的不一样?调试一下看看调试的方法多种多样,不同的调试方法适合不同的场景和人群。如果你是刚接触编程的小萌新,对很多工具的使用还不是很熟练原创 2020-11-14 22:15:22 · 323 阅读 · 0 评论 -
Python 并发编程(四):详解 Python 线程消息通信机制
前面我已经向大家介绍了,如何使用创建线程,启动线程。相信大家都会有这样一个想法,线程无非就是创建一下,然后再start()下,实在是太简单了。可是要知道,在真实的项目中,实际场景可要我们举的例子要复杂的多得多,不同线程的执行可能是有顺序的,或者说他们的执行是有条件的,是要受控制的。如果仅仅依靠前面学的那点浅薄的知识,是远远不够的。那今天,我们就来探讨一下如何控制线程的触发执行。要实现对多个线程进行控制,其实本质上就是消息通信机制在起作用,利用这个机制发送指令,告诉线程,什么时候可以执行,什么时候不可以原创 2020-10-22 13:26:08 · 548 阅读 · 0 评论 -
用上这个 Python 文本解析库,让你和『正则』说 拜拜了
从一段指定的字符串中,取得期望的数据,正常人都会想到正则表达式吧?写过正则表达式的人都知道,正则表达式入门不难,写起来也容易。但是正则表达式几乎没有可读性可言,维护起来,真的会让人抓狂,别以为这段正则是你写的就可以驾驭它,过个一个月你可能就不认识它了。完全可以说,天下苦正则久矣。今天给你介绍一个好东西,可以让你摆脱正则的噩梦,那就是 Python 中一个非常冷门的库 – parse 。1. 真实案例拿一个最近使用 parse 的真实案例来举例说明。下面是 ovs 一个条流表,现在我需要收集提原创 2020-09-08 08:52:43 · 1761 阅读 · 3 评论 -
万字长文带你精通 Python 描述符,学完保证吊打 90% 的 Python 开发者
学习 Python 这么久了,说起 Python 的优雅之处,能让我脱口而出的, Descriptor(描述符)特性可以排得上号。描述符 是Python 语言独有的特性,它不仅在应用层使用,在语言语法糖的实现上也有使用到(在下面的文章会一一介绍)。当你点进这篇文章时你也许没学过描述符,甚至没听过描述符。或者你对描述符只是一知半解无论你是哪种,本篇都将带你全面的学习描述符,一起来感受 Python 语言的优雅。1. 为什么要使用描述符?假想你正在给学校写一个成绩管理系统,并没有太多编码经验的原创 2020-08-25 07:16:52 · 2782 阅读 · 7 评论 -
我发现了个 Python 黑魔法,执行任意代码都会自动念上一段 『平安经』
最近的"平安经"可谓是引起了不小的风波啊。作为一个正儿八经的程序员,最害怕的就是自己的代码上线出现各种各样的 BUG。为此,明哥今天分享一个 Python 的黑魔法,教你如何在你执行任意 Python 代码前,让 Python 解释器自动念上一段平安经,保佑代码不出 BUG 。做好心理准备了嘛?我要开始作妖了,噢不,是开始念经了。感谢佛祖保佑,Everything is ok,No bugs in the code.你一定很想知道这是如何实现的吧?如果你对 Linux 比较熟悉,就会知道,当原创 2020-08-03 12:41:42 · 8746 阅读 · 3 评论 -
有了这篇文章, Python 中的编码不再是噩梦
首发于个人公众号:《Python编程时光》我的博客原文:http://python.iswbm.com/en/latest/c01/c01_44.html我的 Github:https://github.com/iswbm/PythonCodingTimePython 中编码问题,一直是很多 Python 开发者的噩梦,尽管你是工作多年的 Python 开发者,也肯定会经常遇到令人神烦...原创 2020-04-27 12:36:05 · 1034 阅读 · 0 评论 -
Python 炫技操作(04):海象运算符的三种用法
首发于微信公众号:Python编程时光系列导读Python 炫技操作:条件语句的七种写法Python 炫技操作:合并字典的七种方法Python 炫技操作:连接列表的八种方法Python 版本发展非常快,如今最新的版本已经是 Pyhton 3.9,即便如此,有很多人甚至还停留在 3.6 或者 3.7,连 3.8 还没用上。很多 Python 3.8 的特性还没来得及了解,就已经...原创 2020-04-21 12:46:40 · 995 阅读 · 0 评论 -
Python 炫技操作(03):连接列表的八种方法
首发于微信公众号:Python编程时光系列导读Python 炫技操作:条件语句的七种写法Python 炫技操作:合并字典的七种方法Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。但你要知道,在团队合作里,炫技是大忌。为什么这么说呢?我说下自己的看法:越...原创 2020-04-15 20:00:03 · 1537 阅读 · 0 评论 -
Python 炫技操作(02):合并字典的七种方法
首发于微信公众号:Python编程时光Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。但你要知道,在团队合作里,炫技是大忌。为什么这么说呢?我说下自己的看法:越简洁的代码,越清晰的逻辑,就越不容易出错;在团队合作中,你的代码不只有你在维护,降低别人的阅读/理解代...原创 2020-04-09 21:49:27 · 1940 阅读 · 0 评论 -
Python 炫技操作(01):条件语句的七种写法
有的人说 Python 是一门 入门容易,但是精通难的语言,这一点我非常赞同。Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。但你要知道,在团队合作里,炫技是大忌。为什么这么说呢?我说下自己的看法:越简洁的代码,越清晰的逻辑,就越不容易出错;在团队合作中,你的代码不...原创 2020-03-28 09:24:19 · 832 阅读 · 0 评论 -
每天一个好用的 Python 库:pretty-errors 让你的 Bug 看起来与众不同
首发于个人公.众.号:Python编程时光,转载请私信当我们写的一个脚本或程序发生各种不可预知的异常时,如果我们没有进行捕获处理的时候,通常都会致使程序崩溃退出,并且会在终端打印出一堆 密密麻麻 的 traceback 堆栈信息来告诉我们,是哪个地方出了问题。就像这样子,天呐,密集恐惧症要犯了都上面这段 traceback只有黑白两个颜色,无法像代码高亮那样,对肉眼实现太不友好了...原创 2020-03-09 19:49:39 · 1607 阅读 · 4 评论 -
使用 Python ssh 远程登陆服务器的最佳方案
首发自公.众.号:Python编程时光在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果。在 shell 环境中,我们是这样子做的。$ sshpass -p ${passwd} ssh -p ${port} -l ${user} -o StrictHostKeyChecking=no xx.xx.xx.xx "ls -l"然后...原创 2020-02-29 19:12:18 · 4144 阅读 · 0 评论 -
Python 打包历史、构建分发、setup.py的编写
首发于公众号:Python编程时光文章目录1. 为什么需要对项目分发打包?2. 包分发的始祖:distutils3. 分发工具升级:setuptools4. easy_install 使用指南5. 源码包与二进制包什么区别?6. eggs 与 wheels 有什么区别?7. 超详细讲解 setup.py 的编写?8. 打包辅助神器PBR 是什么?9. 如何使用 setup.py 构建包10....原创 2019-12-18 21:18:16 · 1286 阅读 · 0 评论 -
Python 中的闭包和变量作用域
首发自我的个人公众号:Python编程时光未经作者允许,请勿转载,违者必追究责任。1. 作用域Python的作用域可以分为四种:L (Local) 局部作用域E (Enclosing) 闭包函数外的函数中G (Global) 全局作用域B (Built-in) 内建作用域变量/函数 的查找顺序:L –> E –> G –>B意思...原创 2019-08-29 22:29:51 · 548 阅读 · 2 评论 -
Python 2.x和3.x 有什么区别?
有些人可能要说了,都9012年了,还 Python2,先别急哈。虽然 Python 2 在 2020 年就不再官方支持了,但还是有不少公司的老项目还没有改成 python3,就比如我们项目 OpenStack 用的是 Newton 版本,都是用的 Python 2.7,就算 Python3 再火我们也不可能换成 Python3 的。对于一个新手来说,如无其他外在原因,请不要再问是学 Pytho...原创 2019-08-25 20:07:17 · 556 阅读 · 0 评论 -
Python并发编程教程:从性能角度初探并发编程
个人原文博客链接:http://python-online.cn/zh_CN/latest/c02/c02_01.html文章首发于个人微信公众号:Python编程时光转载请联系个人微信「mrbensonwon」进行授权。作为进阶系列的一个分支「并发编程」,我觉得这是每个程序员都应该会的。并发编程 这个系列,我准备了将近一个星期,从知识点梳理,到思考要举哪些例子才能更加让人容易...原创 2019-01-15 12:45:26 · 563 阅读 · 0 评论