自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

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

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

2020-11-05 15:08:52 5996 12

原创 致 Python 初学者

欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你

2019-11-13 18:16:52 355338 327

原创 wxPython:python首选的GUI库

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

2019-10-31 14:42:38 97578 90

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

大约七八年前,我曾经用 pyOpenGL 画过地球磁层顶的三维模型,这段代码至今仍然还运行在某科研机构里。在那之前,我一直觉得自己是一个合(you)格(xiu)的 python 程序员,似乎无所不能。但磁层顶模型的显示效果令我沮丧——尽管这个模型只有十几万个顶点,拖拽、缩放却非常卡顿。最终,我把顶点数量删减到两万左右,以兼顾模型质量和响应速度,才勉强交付了这个任务。从此我开始怀疑 python 的性能,甚至一度怀疑 python 是否还是我的首选工具。

2019-02-17 14:51:20 28993 25

原创 数学建模三剑客MSN

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

2016-09-06 13:41:37 33359 13

原创 Python正面硬刚C语言,结果会怎样?

用C来实现同样的功能,究竟会比Python快多少呢?平时总听到很多人说,Python如何如何慢,何不借此问题,让Python和C来一个正面较量呢?

2021-08-26 17:17:42 8011 64

原创 CT片居然可以这么玩:用头部CT断层扫描片复原三维头像

CT是现代医学影像的主力设备,寻常百姓并不陌生。通常,一张CT片由多张连续断层扫描的图像组成。在医生眼中,CT片展示了人体器官的形态和性质,是判断病人健康状况的重要依据。对于普通人而言,CT片则像天书,几无大用。不过呢,总有不甘寂寞喜欢折腾的程序员,把看似无用的CT片玩出了新花样——用头部CT断层扫描片成功复原出了逼真的三维头像。

2021-07-30 11:47:58 710 7

原创 一行命令实现录屏,支持热键和鼠标操作,区域、帧率、格式任你选择

这款命令行模式的录屏软件,可将屏幕指定区域的内容录制成GIF动画文件或MP4、AVI、WMV等格式的视频文件,录像区域、格式、帧率等参数,既可以由命令行传入,也可以通过鼠标和热键来调整。虽然只是实现了录屏功能,却涉及了键盘鼠标侦听、捕捉窗口句柄、动画和视频制作、定时器、线程、队列等技术,以及生产者-消费者模式,几乎就是一个Python技术博览馆。

2021-07-29 14:04:32 740 6

原创 无所不能的Python竟然没有一个像样的定时器?试试这个!

所谓定时器,是指间隔特定时间执行特定任务的机制。几乎所有的编程语言,都有定时器的实现。比如,Java有util.Timer和util.TimerTask,JavaScript有setInterval和setTimeout,可以实现非常复杂的定时任务处理。然而,牛叉到无所不能的Python,却没有一个像样的定时器,实在令人难以理解。

2021-07-28 13:58:56 1271 14

原创 NumPy数组乘法应用:三维空间中点O为点P在某平面的投影,求该平面公式

这是CSDN问答专栏里有人提出的问题。解题思路如下:求出两个垂直于向量op的不共线的向量v1和v2,根据这两个向量得到点p1和p2,加上o点,通过三点得到平面方程的4个参数。关于向量计算的更多知识点,请参考拙作《细说NumPy数组的四种乘法,带你走进向量运算的奇妙世界》。

2021-07-18 11:28:38 269

原创 怎么求导来着?别费劲了,试试这个Python的通用求导法

今天的CSDN问答专栏里出现了一个实战中遇到的问题:现有两组数据,一组是时间序列,一组是对应时间序列的旋转角度,请问怎样计算某一时刻的角速度呢?

2021-07-15 16:00:20 3756 8

原创 二维数据转扇形图像的通用算法:适用于雷达、B型超声等扇形扫描设备

很久以前,帮一位在读硕士研究生写过一个B型超声设备的图像处理算法,顺便把思路记录整理后发了一篇博客。没想到这么冷门的一篇文章却经常被读者朋友翻出来,并留言希望我能帮助处理一些细节性的问题。深入了解之后才发现,原来雷达数据处理也面临同样的问题,都需要将二维的扇形扫描数据转成扇形图像,也就是实现下图所示的转换。

2021-07-09 16:37:43 332 3

原创 Python基本功测试:5 == 5 > 4,结果是True还是False?

CSDN的问答专栏里,经常会出现一些有趣的问题。比如,刚刚,有人问了这样一个问题。。。

2021-07-07 17:38:30 6138 65

原创 暑假来了,画一个日月地球的轨道模型给孩子们,秒懂四季更迭、日蚀月蚀

无言相守45亿年,太阳、地球和月球这三个好基友究竟是怎样的关系呢?从孩提时代我就一直在想,要是能有一个可以直观演示太阳、地球和月球运行轨迹的模型就好了。今天,我终于实现了小时候的梦想:用WxGL画出了太阳、地球和月球的动态轨道模型。配上简单的解说,小朋友也可以秒懂四季更迭、日蚀月蚀、黄赤交角。

2021-07-06 17:39:27 1129 20

原创 Just do it,一起来玩篮球吧

沉寂了近一年之后,三维可视化工具箱WxGL终于又有版本更新了:从0.6.4升级到0.7.0(现在安装的话也可能是0.7.2),并且承诺自0.7.0版本开始向后兼容。在正式发布docs之前,我设计了几个乒乓球和篮球的小例子,算是预热。请安装下载WxGL,抢先体验一下吧。

2021-07-02 16:34:56 655 9

原创 最完美的数学公式转图片:纯Python实现,可设置字体、字号、颜色和分辨率

写数学公式,功能最强大的当然是LaTex了。不过,强大不代表易用,驾驭LaTex绝不是一件容易的事儿。这也不难理解:毕竟数学公式不是孤立存在的,必然要作为文档、网页或者程序输出的元素,如何无缝地让LaTex关联到文档、网页或程序,的确是个棘手的难题。

2021-06-24 15:12:29 1439 7

原创 这么漂亮的图画,竟然是用NumPy画出来的?请跟我来,10行代码玩转NumPy!

NumPy也可以画图吗?当然!NumPy不仅可以画,还可以画得更好、画得更快!比如下面这幅画,只需要10行代码就可以画出来。若能整明白这10行代码,就意味着叩开了NumPy的大门。请打开你的Python IDLE,跟随我的脚步,一起来体验一下交互式编程的乐趣吧,看看如何用NumPy画图,以及用NumPy可以画出什么样的图画来。

2021-06-18 15:08:15 22030 48

原创 一个看似初级的Python小问题,高手也难保不掉进坑里

昨晚有同学问了一个非常有意思的问题。问题本身很简单,却包含了初学者不易理解、编码实践中又处处可见的几个知识点。如果对这些知识点理解有偏差,即便是经验丰富的Python程序员,稍不留神也会掉进坑里。

2021-06-11 11:24:35 12539 48

原创 21句话入门机器学习

这是一篇关于机器学习工具包Scikit-learn的入门级读物。对于程序员来说,机器学习的重要性毋庸赘言。也许你还没有开始,也许曾经失败过,都没有关系,你将在这里找到或者重拾自信。只要粗通Python,略知NumPy,认真读完这21句话,逐行敲完示例代码,就可以由此进入自由的王国。

2021-05-26 14:53:01 7635 33

原创 Python代码中的数学之美:从自由落体到爬虫悖论,十分钟开启数学思维

数学思维,就是用数学的方式去解决问题,就象吃饭用筷子、喝水用杯子一样,自然而然又理所当然。数学思维并非知识的积累,而是一种由特定思维习惯蕴育而成的能力——这种特定习惯的养成,往往是从解决看似简单的问题开始。本文正是从最简单的自由落体运动抽象出数学分析的一般性原理,进而用来回答蠕虫悖论问题。即使对数学抱有恐惧心理的同学,若能静下心来花上十分钟阅读一遍,也一定可以从中体会到数学之美以及数学分析这个工具的威力。

2021-05-09 17:25:44 4890 26

原创 Python代码中的数学之美:用牛顿逼近法计算2的算术平方根

编程的核心是算法,而算法的核心是数学——单从这一点上讲,编程与数学可谓关系密切。编程所需要的很多能力和数学是相通的,比如逻辑思维、抽象能力等。编程可以帮助程序员更好地理解数学,将复杂的数学可视化,也可以作为解决数学问题的工具,更能强化数学能力。本文作为一个系列的开篇之作,尝试站在程序员的角度,用程序员的方式去理解数学王国的经典概念。

2021-05-06 17:22:17 7198 17

原创 谁说Python慢来着?不用Python,这个问题难倒了无数的程序员

围棋是全世界最古老的棋种(没有之一),也是古代哲学思想和中国传统文化的物质载体。小小纹枰,不过一尺见方,竟蕴藏着万千气象,着实令人为之着迷。少年时代的我,曾经有一段时间醉心于围棋。标准的围棋盘由横竖各19道线组成网格,共有361个交叉点,每个交叉点上有白子、黑子和无子等三种可能的状态。那么问题来了:围棋总共有多少种不同的局面呢?

2021-04-29 15:16:26 9920 30

原创 Python向左,数学向右:梅森素数

暮色苍茫,一辆双门版的福特雷鸟在杰姆斯山的森林公路上飞驰,车灯照亮了道路两侧的云杉树。作为对我协助绘制乌拉姆素数分布图的回报,乌拉姆今晚开车载我去城里的酒吧小酌。

2021-04-27 17:13:30 3257 9

原创 Python向左,数学向右:乌拉姆的素数研究

我是一只猫。听起来有点惊悚,但这是千真万确的事实。那一年——这样说,并不一定意味着一个历史故事的开始,因为我没有过去和将来的概念。我可以在时间维度上任意移动,就像从东走到西或者从西走到东那样自然。

2021-04-22 15:26:58 9850 40

原创 为什么1.01*1.01*1.01=1.030301,而1.01**3=1.0303010000000001?

今天CSDN的问答栏目中,有同学提出了一个很有意思的问题:为什么3个1.01直接相乘的结果和1.01的3次方不一样呢?

2021-04-22 10:20:23 6877 2

原创 从Python到NumPy,细说最接近人类思维的in操作

在Python语言中,in是一个使用频率非常高的操作符,用于判断对象是否位于字符串、元组、列表、集合或字典中。in操作和人的思维方式高度吻合,写起来近乎于自然语言,充分体现了Python的哲学理念。有趣的是,除了R、javascript、SQL外,包括C/C++在内的主流语言几乎都不支持in操作。这或许可以解释为什么Python语言被认为是最容易学习的编程语言。

2021-04-20 15:30:52 6995 23

原创 天空盒里放风筝,OpenGL就这么任性:想怎么放,就怎么放!

打开Python的IDLE,经过一番尝试,竟然轻松在一片辽阔的草原上放飞了几只风筝。风筝们迎风飘动,长长的风筝线像悬链一样跟着摆动。拖动鼠标,还可以从不同的角度、距离欣赏,恍若置身于大草原上。如果觉得好玩,就跟我一起到草原放风筝吧。先说好了,你可以搭我的便车,食宿请自理。不多说了,快上车!

2021-04-14 15:05:44 4582 13

原创 照猫画虎,分分钟学会的Matplotlib技巧:反转轴、绘制双轴和定制刻度

作为Python生态中应用最广泛的绘图库,Matplotlib用起来非常简单,也很容易上手。不过有些细节想要做得尽善尽美,就需要仔细阅读它的文档了。对于初学者来说,反转坐标轴、绘制双轴(将两个动态范围不同的数据绘制在一张图上,分别使用两个不同的坐标轴)有一定难度,改变坐标轴刻度的样式或内容,更是无从下手。

2021-04-09 11:26:30 6309 6

原创 聊聊机器学习中的那些花儿:标准化、归一化、正则化、离散化和白化

机器学习的本质是从数据集中发现数据内在的特征,而数据的内在特征往往被样本的规格、分布范围等外在特征所掩盖。数据预处理正是为了最大限度地帮助机器学习模型或算法找到数据内在特征所做的一系列操作,这些操作主要包括标准化、归一化、正则化、离散化和白化等。

2021-04-02 14:46:07 7316 4

原创 Python函数的参数类型和使用技巧

Python语言支持灵活多样的函数参数,恰当地使用各种形式的参数,会增强代码的复用性和可读性,让代码更加简洁精炼。不过,事物总有其两面性,正因为函数参数的灵活多样,反倒给初学者带了一些困惑。本文从实际需求出发,由浅入深,配合不同的应用场景,渐次引出位置参数、默认参数、可变参数、关键字参数的概念,展示这些参数的使用方法和技巧。

2021-03-29 13:39:49 7213 5

原创 怎么用Python计算地球上任意两个用经纬度表示的点的弧面距离?

这是来自知乎上的问题。问我的时候,恰好我在写一个和向量计算相关的文章,于是灵光乍现,顺手写了这样一个答案。该算法未经严格验证,请谨慎参考。

2021-03-16 14:50:11 2138 1

转载 深挖 AI 价值与温度,AETA 地震预测 AI 算法大赛开启

此次大赛,赛事组委会官方提供了高达 30 万元的奖金作为激励,并且为参赛选手提供了 91 种特征值和对应时间区间目标区域内的地震目录作为训练数据,让此次大赛的价值更上一层楼。

2021-03-15 15:38:31 1964

原创 喜欢书法的程序员看过来:15行代码抓取兰亭序全文单字高清字帖

近日网购上瘾,狂买至肉疼,最后连一本打折后28块钱的兰亭序字帖也不舍得下单了。犹豫之间,发现了一个不错的网站——[书法欣赏](http://www.yac8.com/),名家名帖尽收于此。令人惊喜的是,这个网站居然提供了兰亭序全文单字高清字帖,网址见下文中的代码。

2021-03-08 15:15:50 7471 7

原创 Python的random内置模块产生的随机数真的随机吗?

先说结论:不止Python的random内置模块,还包括numpy的随机抽样子模块random,以及其他编程语言的随机数生成器,例如java.Math.Random()函数,所有这些随机数生成器生成的随机数都不是真正的随机数,而是伪随机数。

2021-03-04 17:43:18 2693 5

原创 元宵节就要到了,花灯要不要来一盏?3D的那种

说起元宵节,各位有没有觉得这是咱们中国人最浪漫的节日呢?国人向来拘谨古板,一年到头都是板着脸过日子,唯有元宵节这天可以纵情豪放一把。东风夜放花千树,宝马雕车香满路,火树银花霓虹闪烁,豪车遍地美女如云。细品,你甚至都能嗅到香奈儿的味道!月上柳梢头,人约黄昏后,这又是何等的浪漫!比起烛光晚宴、鲜花加持,这份浪漫更显纯真。晚至明清,民间元宵节的喜庆气氛,堪比西班牙的奔牛节、巴西的狂欢节、泰国的泼水节。

2021-02-25 14:44:04 27524 65

原创 Python四六级考试,快来测试一下自己的编程水平吧

不要当真,这是一套模仿英语四六考试的Python编程能力自测题,完全基于Python基础语法和标准模块,仅最后一题,用到了NumPy模块。参考答案附于文末,读者可自行核对。如果得分超过60分,相当于英语四级水平;得分超过80分,相当于英语六级水平。

2021-02-09 14:53:36 4656 8

原创 理解了这三点,才敢说自己会写Python代码

某同学应聘Python岗位被录用。上班第一天,Leader吩咐他写一个获取次日日期信息的函数。该同学信心满满地写下了这样一段代码, 然后就没有然后了。当然,这只是一个段子,相信没有Python程序员真的会写出这样的代码。不过,很多时候,我们写出来的代码尽管功能满足需求,效率也还说得过去,但可读性较差,且难以维护,和人们通常所说的简洁优美相去甚远。

2021-02-04 16:59:19 8672 26

原创 无所不能的NumPy:我用它弹奏出了CD音质的吉他名曲“爱的罗曼史”

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV/OpenGL,还是Pandas/Matplotlib,抑或是Scikti-learn/TensorFlow/Keras/Theano/PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2021-01-29 10:52:11 6081 9

原创 使用Python如何快速打开一个百万行级别的超大Excel文件?

知乎上有同学求助说,当他试图打开一个20M左右的excel文件时,无论是使用pandas的read_excel,还是直接使用xlrd或者openpyxl模块,速度都慢到无法忍受的程度,耗时大约1分钟左右。真的会这样吗?

2021-01-22 15:14:31 3908 2

原创 如何用Python的标准print函数打印一个彩色的围棋局面?

尽管print函数是初学者最先接触到的第一个Python标准函数,但很多人并没有真正了解它。我曾经在《用 print() 函数实现的三个特效》一文中展示了print函数的一些实用技巧,受到读者热捧。今天,我再给大家介绍print函数的另一个技巧:打印彩色文字和图案,并在最后定义一个打印围棋局面的函数,可以打印出下图这样的效果。

2021-01-08 15:55:27 9260 5

空空如也

天元浪子的留言板

发表于 2020-01-02 最后回复 2020-06-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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