不得不知道的 Python 那些事儿
文章平均质量分 88
Python,是一个设计优美的解释型高级语言,它提供了很多能让程序员感到舒适的功能特性。
本专栏就带你学习那些让人感到舒服以及一些鲜为人知的功能特性。
Rocky0429
我愿能朝着太阳生长,做一个温暖的人。
展开
-
没想到 Python 中竟然还藏着这些稀奇古怪的东西...
作者 | Rocky0429来源 | Python空间大家好,我是 Rocky0429,一个喜欢稀奇古怪的蒟蒻…从前有座山,山里有条蛇。有一天它生了一堆蛋,它们的名字叫蛇蛋…为什么叫蛇蛋?因为电影里面有一个好玩的东西叫…彩蛋。Python 作为一门开源的语言,社区菊苣们贡献了很多搞笑有趣的东西。至于为什么贡献这个,我经过缜密的思考,终于想通了这个问题…这个得从盘古开...原创 2020-03-15 10:18:40 · 20153 阅读 · 100 评论 -
警告!你的Python代码命名太烂了,命令你熟读本篇迷你命名指南!
大家好,我是 Rocky0429,一个最近老在写代码的蒟蒻…夜路走多了,总会遇到鬼,代码写多了,难免遇到 bug…刚开始我丝毫不慌,祭出我的 debug 两板斧,小小 bug 何足挂齿,看我分分钟解决你!就这样分分分分分分分分分分钟后:bug 太强,不能匹敌,开始撤退!所以我只能求助大佬,帮我调试一波,就在我美滋滋的等着我的 bug 被大佬砍瓜切菜的时候,我的微信响起来...原创 2019-12-05 13:47:58 · 12343 阅读 · 28 评论 -
Python 中那些令人防不胜防的坑(一)
大家好,我是 Rocky0429,一个正在学习 Python 的蒟蒻…在学习 Python 的过程中,我为它的简洁优雅而痴迷,但它又是如此的调皮,在提供了很多舒服的功能特性之外,又悄悄挖了很多带有迷惑性的坑,令人防不胜防…人不能两次踏入同一条河流,在无数次踩进同样的坑里之后,我觉得我有必要整理一下,一为自警,二为给大家提个醒,希望你不要和我犯相同的错误。这会是一个系列,每篇 5 个,系...原创 2019-11-21 13:47:58 · 12589 阅读 · 51 评论 -
有趣的 Python 特性之同样都是「加」,好像我们不一样...
在我们来表示「加」这个概念的时候,一般我们会用两种方式:a = a + b或者是 a += b 。在很多人的概念里这两个其实就是一种,不分彼此,比如之前我就是这么认为的,直到有一天有人拿着下面的坑过来让我踩…首先我们先来看第一个例子:>>> a = [1,2,3]>>> b = a>>> a = a + [4,5,6]一个很简单的例...原创 2019-06-03 10:17:53 · 2610 阅读 · 0 评论 -
有趣的 Python 特性之你所不知道的「删除」操作。
看到标题的时候你可能会想:“不就是删除么?这有什么好说的呢?”其实真的是这样么?在 Python 中,有删除作用的一般是 del、remove 和 pop,相信很多人都用过,但是不是真的会有待商榷,下面我们先来看一个例子:lst1 = [1,2,3,4]lst2 = [1,2,3,4]lst3 = [1,2,3,4]lst4 = [1,2,3,4]for i, j in enumer...原创 2019-05-29 11:55:51 · 3778 阅读 · 5 评论 -
有趣的 Python 特性之碰到这种「链式」操作就要小心了。
写在之前Python 提供了很多让使用者觉得舒服至极的功能特性,但是随着不断的深入学习和使用 Python,我发现其中存在着许多玄学的输出与之前预想的结果大相径庭,这个对于初学者来说难以理解,但是在理解它们以后又会觉得是这么的有意思,所以我准备了这个「有趣的 Python 特性」系列,写一些我碰到或看到的一些你所不知道的「奇葩」,这里面会涉及到在 Python2 和 Python3 中的异同,希...原创 2019-05-27 10:43:26 · 3146 阅读 · 1 评论 -
有趣的 Python 特性之当心「默认可变参数」这个大猪蹄子。
写在之前Python 提供了很多让使用者觉得舒服至极的功能特性,但是随着不断的深入学习和使用 Python,我发现其中存在着许多玄学的输出与之前预想的结果大相径庭,这个对于初学者来说难以理解,但是在理解它们以后又会觉得是这么的有意思,所以我准备了这个「有趣的 Python 特性」系列,写一些我碰到或看到的一些你所不知道的「奇葩」,这里面会涉及到在 Python2 和 Python3 中的异同,希...原创 2019-04-03 17:20:07 · 1212 阅读 · 0 评论 -
有趣的 Python 特性之一个你绝对猜不到的结果。
写在之前Python 提供了很多让使用者觉得舒服至极的功能特性,但是随着不断的深入学习和使用 Python,我发现其中存在着许多玄学的输出与之前预想的结果大相径庭,这个对于初学者来说难以理解,但是在理解它们以后又会觉得是这么的有意思,所以我准备了这个「有趣的 Python 特性」系列,写一些我碰到或看到的一些你所不知道的「奇葩」,这里面会涉及到在 Python2 和 Python3 中的异同,希...原创 2019-03-18 15:54:16 · 861 阅读 · 0 评论 -
是谁吃掉了我的外部变量?
写在之前Python 提供了很多让使用者觉得舒服至极的功能特性,但是随着不断的深入学习和使用 Python,我发现其中存在着许多玄学的输出与之前预想的结果大相径庭,这个对于初学者来说难以理解,但是在理解它们以后又会觉得是这么的有意思,所以我准备了这个「有趣的 Python 特性」系列,写一些我碰到或看到的一些你所不知道的「奇葩」,这里面会涉及到在 Python2 和 Python3 中的异同,希...原创 2019-03-17 09:22:46 · 778 阅读 · 0 评论 -
同样都是捕获异常,为啥要不一样呐?
写在之前在很久以前我写过两篇文章来介绍 Python 中的「错误 & 异常」以及如何「处理异常」,如果你对这方面现在还不了解,可以先看一下这两篇文章:零基础学习 Python 之错误 & 异常零基础学习 Python 之处理异常后来因为某些原因,我发现在 Python2 和 Python3 中对于「捕获异常」是有区别的,虽然我一直用的是 Python3,但是还是依然有一部分...原创 2019-03-14 09:48:27 · 981 阅读 · 0 评论 -
Python 管理 zip 压缩包和 tar 压缩包
写在之前压缩包是互联网上软件发布的标准格式,同时对于系统管理很有用处。当我们需要将多份文件发送给别人的时候,最好通过压缩包的形式发送,还有在备份某些文件的时候,为了减少磁盘空间的占用,也需要对备份的数据进行压缩。Python 中有一系列对压缩包进行处理的工具,包括创建压缩包,解压压缩包以及获取压缩包中的文件列表等,今天的文章,我们就来学习一下与压缩包相关的 Python 标准库。管理 zip...原创 2019-02-19 12:46:28 · 1176 阅读 · 0 评论 -
轻轻松松用 Python 定位特定类型文件
写在之前今天的文章是介绍如何用 Python 去定位特定类型的文件,会讲到用字符串匹配文件名定位特定文件以及顺带介绍一下遍历目录树的函数,通过今天的这一部分以及之前文章讲到的文件获取属性的操作,可以做很多有意思的事情。定位特定文件定位特定的文件,可以使用 fnmatch 以及 glob 这两个标准库,我们下面来分别看一下。1. 使用 fnmatch 标准库一般的话我们想要查找特定类型的文...原创 2019-02-18 13:22:08 · 852 阅读 · 0 评论 -
看完这篇,再也不用头疼文件「路径」的问题啦
写在之前在实际应用过程中,我们经常会和各种文件打交道,「文件」是计算机中非常重要的东西,之前写过关于 Python 操作文件的文章,不熟悉的可以先看看:零基础学习 Python 之文件说到了文件,自然就会涉及到文件「路径」的问题,很多人对这一块不太熟悉,在程序中想要使用文件的时候不知道该如何去确定文件所在的路径或者不知道如何去构造一个让文件存储的路径,今天就让我们来彻底解决这个问题。这里主...原创 2019-02-14 21:03:35 · 847 阅读 · 0 评论 -
Python 中的容器 collections
写在之前我们都知道 Python 中内置了许多标准的数据结构,比如列表,元组,字典等。与此同时标准库还提供了一些额外的数据结构,我们可以基于它们创建所需的新数据结构。Python 附带了一个「容器」模块 collections,它包含了很多的容器数据类型,今天我们来讨论其中几个常用的容器数据类型,掌握了这几个可以减少我们重复造轮子所带来的烦扰。namedtuple相信你已经熟悉了元组,如果...原创 2019-02-13 21:50:19 · 858 阅读 · 0 评论 -
关于 Python2 和 Python3 中的 Unicode 问题。
写在之前字符编码问题几乎是会跟随我们整个编程生涯的一大魔障,一不小心各种玄学的问题就会接踵而至,防不胜防,尤其是对初学者来说,碰到编码问题简直是就是加快了踏上从入门到放弃的传送带。鉴于我公众号的读者初学者占了一大部分,所以很多时候我会收到各种询问字符编码的问题,这里面有用 Python2 的,也有用 Python3 的,鉴于在编码问题上这两种版本的 Python 有着很大的不同,所以在这篇文章...原创 2019-01-30 15:06:52 · 1610 阅读 · 0 评论 -
如何写出符合 Python 审美的代码风格?
写在之前每个人都有自己的代码风格,随着写的行数增加,自己对于代码的审美也会变的不一样,这就像是一个逐渐蜕变的过程,每过一段时间回头再去看看自己之前写的代码就会生出一种「这么丑的玩意儿竟然是我写的」这种感慨。之前不论是写 C 或者是 C++ 的时候,对于代码风格的好坏观感完全是凭着自己的主观意识,也没有什么官方标准说这样那样就是好看的。等学了 Python 以后,神奇的发现 Python 官方竟...原创 2019-01-15 10:45:36 · 5306 阅读 · 0 评论 -
Python 调试器,一个优秀开发人员的必备技能包。
写在之前不管是之前搞 acm 用 c/c++ 写算法还是后来用 Python 写代码,我发现在程序出现问题的时候,大多数人习惯性的用 print 函数打印变量值这种方法来试图找出问题的症结所在,这种查找问题的方式低效到让人只想删掉代码重新去写。我记得一些人问我问题的时候,我不止一次的推荐过让他们用单步调试去找代码中存在的问题,但是更多收获的是「什么是单步调试」这种疑问,其实单步调试就是,自己去 ...原创 2019-01-10 15:26:34 · 854 阅读 · 0 评论 -
关于加速 pip 安装的两点妙招。
写在之前众所周知,pip 是一个用来安装和管理 Python 包的工具,随着大家使用 Python 的时间越来越长,就会发现一个问题,那就是用 pip 安装包的时候有时候会很慢,甚至直接就是不可用。因为关注我公众号的读者们很大一部分是初学者,所以我在后台也经常会碰到有人问这种问题,这个在大佬们眼中不是问题的问题在很多小白看来无疑是个不知道如何去解决的问题,索性我就专门写这么一篇文章,来统一说一下...原创 2019-01-09 17:50:05 · 2098 阅读 · 0 评论 -
一招带你解析 JSON 串(echo)
我在之前的「零基础入门学习 Python」这个系列中,写过关于 JOSN 的文章 – Python 标准库之 JSON ,没看的可以看一下。JSON 是一种轻量级的数据交换格式,对于我们的阅读和编写十分之友好,同时对机器来说也很容易解析和生成。如果你已经是学过或者做过一段时间的编程,你可能会发现这么一个现象,那就是 JSON 好像随随便便就能在某个犄角旮旯里看到,这正是由它的诸多优点决定的。随着...原创 2019-01-08 09:21:20 · 1486 阅读 · 0 评论 -
Python 也会传文件,再也不用看某某网盘的脸色了!
写在之前在我们的日常生活和工作中,难免会碰到要给别人传文件的时候。可能这对现在的你来说不是一件很难的事情,估计相当多的一部分人说我可以直接把文件拖进微信或者 qq 里发给别人,但这个只适用于文件较少的时候,文件较多的时候用聊天工具来进行文件传输就又变成了一件很麻烦的事情。这时候你可能又会说,那我可以传到某度网盘上,然后发个链接给对方,这不是美滋滋么?要我说这是苦滋滋吧!你要先把东西传到网盘,然...原创 2018-11-09 16:55:35 · 1087 阅读 · 0 评论 -
项目太多工作环境互相干扰?virtualenv 一招教你轻松解决。
写在之前在上一篇文章 安装的 Python 版本太多互相干扰?以后再也不用担心这个问题了。 中我给大家介绍了一个 Python 版本的管理工具「pyenv」,可以很容易的安装不同的 Python 版本,进行全局的 Python 版本切换。就这么开开心心的解决了 Python 版本冲突的问题以后,又突然出现了一个新的问题摆上了桌面:假如你手里有两个项目,其中一个项目要求使用 django 1.5 ...原创 2018-11-07 09:29:55 · 1078 阅读 · 0 评论 -
安装的 Python 版本太多互相干扰?pyenv 建议了解一下。
写在之前我们都知道现在的 Python 有 Python2 和 Python3,但是由于各种乱七八糟的原因导致这俩哥们要长期共存,荣辱与共,尴尬的是这哥俩的差异还比较大,在很多时候我们可能要同时用到它们,所以就要在 Python2 和 Python3 之间来回的无缝切换。安装不同版本的 Python 我已经够累了,还要在不同版本的 Python 之间切换来切换去那不更得累死?而且不同版本之间并...原创 2018-11-05 09:25:26 · 3029 阅读 · 7 评论 -
所有 Python 程序员必须要学会的「日志」记录。
本文字数:3840 字阅读本文大概需要:10 分钟写在之前在我们的现实生活中,「日志记录」其实是一件非常重要的事情,比如银行的转账记录,汽车的行车记录仪记录行驶过程中的一切,如果出现了什么问题,我们可以通过「日志记录」来搞清楚到底发生了什么事情。除了在生活中,在日常的系统开发以及调试等过程中,记录日志同样是一件很重要的事情。很多编程初学者并没有「记录日志」的习惯,认为记录日志是一件可有...原创 2018-10-24 16:55:55 · 3145 阅读 · 2 评论