自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 致 Python 初学者

欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 pyth...

2019-11-13 18:16:52 290021 276

原创 wxPython:python首选的GUI库

跨平台的GUI工具库,较为有名的当属GTK+、Qt 和 wxWidgets 了。GTK+是C实现的,由于C语言本身不支持OOP,因而GTK+上手相当困难,写起来也较为复杂艰涩。Qt 和 wxWidgets 则是C++实现的,各自拥有庞大的用户群体。虽然我喜欢wxWidgets,但还是尽可能客观地搜...

2019-10-31 14:42:38 79799 87

原创 写给 python 程序员的 OpenGL 教程

OpenGL 是 Open Graphics Library 的简写,意为“开放式图形库”,是用于渲染 2D、3D 矢量图形的跨语言、跨平台的应用程序编程接口(API)。OpenGL 不是一个独立的平台,因此,它需要借助于一种编程语言才能被使用。C / C++ / python / java 都可...

2019-10-31 14:42:29 36454 16

原创 如果不懂 numpy,请别说自己是 python 程序员

大约七八年前,我曾经用 pyOpenGL 画过地球磁层顶的三维模型,这段代码至今仍然还运行在某科研机构里。在那之前,我一直觉得自己是一个合(you)格(xiu)的 python 程序员,似乎无所不能。但磁层顶模型的显示效果令我沮丧——尽管这个模型只有十几万个顶点,拖拽、缩放却非常卡顿。最终,我把顶...

2019-02-17 14:51:20 24541 22

原创 数学建模三剑客MSN

不管是不是巴萨的球迷,只要你喜欢足球,就一定听说过梅西(Messi)、苏亚雷斯(Suarez)和内马尔(Neymar)这个MSN组合。在众多的数学建模辅助工具中,也有一个犀利无比的MSN组合,他们就是python麾下大名鼎鼎的 Matplotlib + Scipy + Numpy三剑客。

2016-09-06 13:41:37 28843 11

原创 魔幻离现实仅一步之遥:细说Python的循环调用、循环引用和循环导入

小时候,常被一些可笑的问题困扰——尽管成年以后面临的疑惑更多,但似乎是因为已经适应了在迷茫中前行,对于未解的问题反倒是失去了那种急于想知道答案的迫切感。比如,站在两面相对的镜子中间,会看到无数个自己吗?对于少时的我,这的确是一个非常魔幻的问题,直到理解了光量子能量衰减,才算找到了答案。

2020-11-20 14:56:01 5498 15

原创 写在《Python高手修炼之道》发行之前:选择一本好书,即是少走弯路

一门编程语言,总有一些独一无二的特质,不会随着语言的演变而改变,我们姑且称其为语言的DNA。一本介绍编程语言的书,如果能够捕捉到这门语言的DNA,并准确传达给读者,那就称得上是一本好书。选择一本好书,可以少走很多弯路。

2020-11-05 15:08:52 1045 0

原创 理解Python闭包,这应该是最好的例子

作为一种编程语言特性,闭包得到了很多编程语言的支持,Python也不例外。所谓闭包,在Python中指的是携带一个或多个自由量的函数。闭包函数的自由量不是函数的参数,而是生成这个函数时的环境变量。一旦闭包生成了,自由变量会绑定在函数上,即使离开创造它的环境,自由量依旧有效。

2020-11-04 16:19:43 5910 11

原创 危险的转变:Python正在从简明转向臃肿,从实用转向媚俗

简单和优雅,是Python创始人吉多 · 范罗苏姆(龟叔)开立山门之时为Python确立的哲学理念。现在,Pyton的发展显然已经背离了这一原则:不管有用无用,但凡别家有的,一概收入;不管是否适合,只要能充门面,悉数拿来。此情势正如当年Pandas之父韦斯·麦金尼面对Pandas的快速扩张时所表达...

2020-10-24 08:04:24 20208 49

原创 浅谈Python中类文件对象的使用

所谓类文件对象(file-like object),简单说就是类似文件对象的对象,至少要具备read()和write()两个方法。由于磁盘文件的写入和读出速度远远小于内存的读写速度,当我们使用文件作为两个连续的处理过程的数据交换形式时,通常会选择使用类文件对象。

2020-10-12 11:17:03 2909 0

原创 复合条件下的字典排序

知乎上有人说,Python3.6以后字典有序且更高效了。群里有同学推荐了这篇文章给我看,并咨询字典排序的问题。大致浏览了一下,我当即表示不能认同这个说法。这篇文章的作者,应该是一位资深的专业人士,对于Python解释器如何实现字典存储和检索有着深刻地理解。但他犯了一明显的常识性错误:在逻辑上,字典...

2020-10-09 15:15:02 3361 1

原创 十分钟玩转3D绘图:WxGL完全手册

WxGL是一个基于PyOpenGL的三维数据可视化库,以wx为显示后端,提供Matplotlib风格的交互式应用模式,同时,也可以和wxPython无缝结合,在wx的窗体上绘制三维模型。从V0.6.2开始,WxGL新增了交互式绘图子模块wxplot,提供类似Matplotlib风格的2D/3D绘图...

2020-10-08 08:29:41 14381 41

原创 Python非单向递归函数如何返回全部结果?这个经典的背包问题给出了答案

递归( recursion)是一种神奇的编程技巧,可以大幅简化代码,使之看起来更加简洁。然而递归设计却非常抽象,不容易掌握。通常,我们都是自上而下的思考问题, 递归则是自下而上的解决问题——这就是递归看起来不够直观的原因。

2020-08-27 18:09:47 3849 1

原创 七夕节,我用Python写了一个婚介模型

先声明一下:本文纯属七夕应景娱乐之作。如果有人因为遵循本模型提出的择偶理论而导致失恋或单身,除了同情,我不能补偿更多。在中国的传统节日里,七夕可能是起源最神秘、内涵最深刻的一个了。当然,这不是本文的重点,我们的核心问题是:在七夕这个特有纪念意义的日子,你真的想好了要向TA表白吗?TA真的是你唯一正...

2020-08-25 11:36:42 7246 7

原创 用了十几年才想明白:Python的精髓居然是方括号、花括号和圆括号!

和其他编程语言相比,什么才是Python独一无二的特色呢?很多程序员会说,缩进。的确,缩进是Python语言的标志性特点,但这只是外在的、形式上的。从语言特性层面讲,Python的特点是什么呢?我尝试着在知乎上搜索了一下,最具代表性的答案分别是语法简洁、简单易学、代码高效、功能强大等四项。仔细品味...

2020-08-15 18:13:46 17998 24

原创 不要对链式索引赋值!趟过了这个坑,才能真正迈入Pandas高手之列

实话实说,我一向不太喜欢Pandas,因为它的功能实在太过强大了,想要熟练地驾驭它,对于我这样的中老年人来说,学习成本偏高。不过,对于接受能力超强的年轻人而言,Pandas确实是数据处理方面不可或缺的利器,我的子侄辈中就有多人喜欢使用。正是因为他们在Pandas的使用过程中,不断地向我咨询问题,我...

2020-08-03 18:06:08 4529 1

原创 如何提高Python编程能力?不妨试试这个经典的24点问题

暑假期间,办公室里经常会出现因无人看护而不得不跟随爸爸妈妈来上班的小朋友。如果不忙的话,我会陪他们一起玩,他们也都很喜欢和我玩。我们都喜欢玩数字游戏。这不,有位小朋友给我出了一道难题:三个5和一个1,只用加减乘除四则运算,每个数字只能且必须使用一次,如何让结果等于24?

2020-07-31 11:26:38 12010 10

原创 从Python对象的内建属性和方法谈Python的自省(Introspection)和反射机制(Reflection)

对于dir()这个Python的内置函数,Python进阶群里的小伙伴们一定不陌生。我不止一次地介绍过这个函数。每当想要了解一个类或类实例包含了什么属性和方法时,我都会求助于这个函数。读到这里,一定会有很多小伙伴会说,我的PyCharm(也可能是VSCode或者其他什么)也会告诉我,当前的对象有什...

2020-07-27 18:34:54 4553 1

原创 LaTex数学公式转图片,不依赖在线服务,真正Python实现

下午安装了一个pylatex模块,打算将LaTex语法描述的数学公式转为图片。磕磕绊绊读了半天文档,发现pylatex属于重型武器,写起来不够简洁。网上搜了一下,CSDN上现成的Python代码,只是不免费,要11个C币。摸摸兜里,还有些散碎银子,就顺手买了一个。下载之后,一读源码,居然只是封装了...

2020-06-29 17:59:19 4951 3

原创 作为Python程序员,你真的会用max()和min()函数吗?

在Python的七十多个内置函数中,max()和min()是比较常用的两个,用来查找一组数据中的最大值和最小值。这两个函数看似简单,实则暗藏了很多意想不到的功能,尤其是key参数,更为这两个函数增加了类似map()函数的功能。如果应用在代码中,必定产生鬼斧神工、匪夷所思的感觉,令人叹为观止!

2020-06-23 15:22:57 4475 2

原创 一篇短文,尽除沉疴,彻底破解正则恐惧症!
原力计划

正则表达式的规则之艰深晦涩,足令初学者望而却步。其实,只要理解了基本概念,稍微归纳一下知识点,掌握并熟练应用正则表达式,也不是什么难事儿,大约三十分钟就可以做到。我们可以把正则表达式的学习分成两部分:第一,如何写正则表达式?第二,怎么用正则表达式?

2020-06-01 11:35:20 4725 1

原创 Pandas简明教程
原力计划

简洁如斯,夫复何求!但是,对用户过分的迁就和溺爱,其实是一把双刃剑。正如Pandas之父Wes McKinney所说,Pandas正在背离他最初所期望的简洁和易用,变得越来越臃肿和不可控制。我非常认同Wes McKinney的观点,甚至觉得当Pandas抛弃了panel这个概念的时候,就已经走火入...

2020-05-29 14:00:01 6234 2

原创 用机器学习的分类算法识别象棋棋子——兼论旋转不变性
原力计划

文本识别早已经不是问题了,不过却不能直接应用于象棋棋子的识别,因为棋盘上的棋子是随机摆放上去的,不能保证棋子上的文字总是保持一个固定的角度。识别棋子的关键是找到具有“旋转不变性”的特征——无论棋子旋转多少度,其特征总是稳定的。

2020-05-27 18:15:06 4232 5

原创 假期无聊,我用傅里叶变换做了一个频率计,吉他定调口哨定音,样样好使!
原力计划

当年《数学分析》考试通过后,那个高兴啊,心想,这一辈子总算再也不用和数学打交道了。没成想,新学期又开了一门叫做《工程数学》的专业课,专门讲傅里叶变换和拉普拉斯变换。全班同学为此郁闷了多半个学期。转眼间,三十多年过去了,拉氏变换早就还给了我的数学老师,唯独留下了傅里叶变换,偶尔还能有用武之地。这不,...

2020-04-05 15:36:22 6424 6

原创 有没有那么一道题,让你从此真正理解了Python编程?
原力计划

写下这个题目的时候,脑海里无法抑制地响起了周华健那略带沙哑的歌声:远处传来那首熟悉的歌,那些心声为何那样微弱。很久不见,你现在都还好吗?有没有那么一首歌,会让你轻轻跟着和,随着我们生命起伏,一起唱的主题歌;有没有那么一首歌,会让你突然想起我,让你欢喜也让你忧,这么一个我……

2020-03-31 11:45:23 12995 40

原创 我用370行代码写了一个wxPython的任务托盘程序:实用的屏幕录像机

最近有同学咨询如何用wx写任务托盘程序,也有同学咨询怎样创建wx的异形窗口。恰好,我也正需要一个可以将屏幕显示或者操作录制成gif文件的工具。于是乎,结合同学们的问题,我用wx写了一个屏幕录像机代码,既包含任务托盘的实现,也用到了异形窗口,还使用了DC绘制录像窗口边框。这段代码,可以很方便地打包成...

2020-03-25 11:50:37 5689 4

原创 Python + ElasticSearch:轻松玩转跨越千年的两百三十万条地震数据
原力计划

本文介绍了在网上地震数据的实现代码,并借助于 Python 和 ElasticSearch,分析了全球和中国的地震分布,对中国多个省区的历史地震数据做了对比分析。所有源码和示例数据已上传至GitHub,有兴趣的读者可以下载源码后,使用下载代码自行下载全部数据。

2020-03-19 15:33:51 6286 3

原创 Python代码中的三大常见“愚形”,你中招了吗?

愚形,是围棋的专业术语,凡是效率低下且不美观的棋形,统称为愚形。比如空三角和团子,就是典型的愚形。低水平棋手经常会在无意中走出愚形,而那些高手平棋手,尽管在生死存亡的危机时刻也会用愚形求生或者逃命,但在正常局面下他们是不会走出愚形的。在Python代码中,初学者也会写出一些类似围棋愚形的写法,不仅...

2020-03-16 12:27:15 8333 12

原创 3D库WxGL的demo——用3D给思维插上想象的翅膀

上周冒着零星小雨去附近的公园赏花,估计脑子里多少进了一些雨水,以至于连 z=xy 这样的曲面是什么样子,都想象不出来了。无奈之下,只好跑去问女儿。彼时,她正在ipad上整理课堂笔记。我凑近瞄了一眼,瞬间感觉头晕目眩,几乎晕倒。这个课堂笔记,将数学的险恶展示得一览无余!

2020-03-15 14:24:21 6439 2

原创 手把手教你用wx做一个二维码生成器,并打包成可执行程序
原力计划

我们通常所说的二维码,是指 Quick Response,简写为QR。QR 是近几年来移动设备上超流行的一种编码方式,它比传统的条形码(Bar Code)能存更多的信息,也能表示更多的数据类型。尽管在网上很容易找到各种各样的二维码生成器,但鲜有定制功能。接下来,我将手把手教大家用 wxPython...

2020-03-09 17:35:21 16248 17

原创 B型超声设备图像处理:用二维数据生成扇形图像
原力计划

昨晚,有同学私信咨询:如何将矩形数据转为扇扫图像?面对这个问题,我也是一脸懵逼,什么是扇扫?矩形数据又是啥?细问之下,才知道这是B型超声设备的数据处理问题。B超输出的数据保存在一个二维数组中,但显示在屏幕上的却需要转换为扇形。稍微思考一下,应该不难解决。比较直接的方法是,将二维数组的每一列旋转合适...

2020-03-05 15:57:59 5333 6

原创 自己动手,打造一款适合 Python 程序员的 Html5 音乐播放器

近期断断续续读了一些 Web Audio API 和 WebRTC API 的文档,发现了很多好玩的东西,有一种“忽入桃花源”的感觉。这一款 Html5 音乐播放器,就是基于 Web Audio 技术实现的,原型来自于 Web Audio API 的例子。为什么说适合 Python 程序员呢?因为...

2020-03-02 16:47:36 5461 0

原创 Python小技巧:将图像音视频等资源文件隐藏在代码中

下午有同学Python学习群里说,使用pyinstaller打包源码时,因为代码中使用了图像、音频、视频等资源文件,无法将程序打包成单一的可执行文件。有没有方法将这些资源文件按保存在代码中呢?我想了一下,应该是可以的。于是乎,花了一个小时,写出了下面的代码,算是抛砖引玉吧。

2020-02-15 19:01:16 10745 5

原创 用Python打造你的专属情人节贺卡,赶快发给TA浪漫一下吧

明天就是情人节了。这个情人节,注定是一个不能约会的情人节,但不能约会不代表不能浪漫。古人比我们出生早,那些浪漫的诗词早都被他们挖掘一空,比诗词我们肯定没有机会了。好在我们还有Python,不然都不知道该如何表达浪漫。接下来,浪导教你制作一个浪漫的情人节专属贺卡。

2020-02-13 18:14:22 14646 21

原创 Python + ElasticSearch:有了这个超级武器,你也可以报名参加诗词大会了!

正月十六,中国诗词大会第五季落下帷幕。从2016年2月12日第一季于开播,迄今恰好四周年。在这个舞台上,时年16岁的才女武亦姝、雨无阻的外卖小哥雷海为、端庄美丽的北京大学博士生陈更,不留遗憾的三季老将彭敏,都以精彩表现给我们留下了深刻印象。中国诗词大会潜移默化地影响了一大批中国人,激发了很多人对诗...

2020-02-13 17:12:29 14439 14

原创 2020Pyton开发者日线上技术峰会主题:爬虫框架的技术实现与模块应用的经验分享

2月15日,CSDN 联合PyCon中国、wuhan2020、xinguan2020 等力量,举办以「抗击疫情,开发者在行动」为主题的2020 Python开发者日·线上技术峰会,围绕Python在疫情中的具体落地应用与项目,为广大Python开发者、爱好者揭秘代码的力量。

2020-02-13 09:29:36 12976 0

原创 开源我的3D库WxGL:40行代码将疫情地图变成三维地球模型

在自己动手写3D库之前,我一直使用VisPy应对三维需求。这是一个高性能的可交互的2D/3D可视化函数库,但在后端显示上,我始终不能得心应手地驾驭它。2019年的元旦假期,我萌生了自己写3D应用库的念头,并立即付诸行动。三周之后,WxGL诞生。WxGL是一个基于PyOpenGL的三维数据展示库,以...

2020-02-07 17:36:44 31774 64

原创 介绍一种有趣的数据抓取技术:可见即可抓

可见即可抓的实现,依赖于selenium模块。实际上,selenium并不是专门用于数据抓取的工具,而是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器。用selenium抓取数据,并不是一个通用的方法,因为它仅支持GET方法(当然,也...

2020-02-02 13:15:56 10710 1

原创 学习笔记:使用nginx的反向代理和缓存技术提升tornado的吞吐量

在B/S应用中,页面缓存技术是提升服务能力的重要手段。页面缓存又分为浏览器缓存和服务端缓存两类,本文仅讨论Nginx服务器的页面缓存。Nginx服务缓存的基本原理是对客户请求过的资源建立本地副本,在一段合理时期内任何用户再次请求该资源时,Nginx服务器无需要再次向后端服务器发出请求,而是直接应答...

2020-01-30 09:41:19 7862 1

原创 Python实战:病毒困我于斗室,桌面带我去旅行

近代史上,每一个庚子年都不寻常:1840年鸦片战争,1900年八国联军侵华,1960年大饥荒。2020年的这个春节,一场突如其来的新型冠状病毒疫情横扫东亚,大有席卷全球之势。这场无妄之灾,使得很多人放弃了聚会和旅行的计划,大家不得不蜗居于斗室。但是,病毒再猖狂,也无法阻止程序员对于美好的生活的向往...

2020-01-29 16:48:10 12802 11

提示
确定要删除当前文章?
取消 删除