自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件和芯片来改变世界

原创 老蔡学堂

优惠大卖,全部课程(任选5门)一口价:49元,需要请发送邮件:9073204@qq.com 玩转人工智能库-深入浅出OpenCVhttps://edu.csdn.net/course/detail/26616 单片机编译器之链接器 https://edu.csdn.net/course/de...

2016-06-24 07:13:24 11256 2

原创 深入浅出matplotlib(9):知道两点坐标画直线

有时候需要演示一下直线是怎么样生成的,就可以使用matplotlib作为教学工具,把演示过程动态化,并且可视化,也可以让学生快速地学习和修改直线的算法。知道两点坐标画直线有很多种方法,这里主要介绍使用DDA算法: DDA算法是计算机图形学中最简单的绘制直线算法。其主要思想是由直线公式y = kx...

2020-11-24 17:36:32 37 0

原创 深入浅出matplotlib(8):辅助指示坐标轴和公式显示

在matplotlib里,虽然有数据的坐标轴设置好了,这个只是为了画数据显示使用的,如果用它来作标示,又有点不足。比如绘图的区域是X轴和Y轴从-10到100,那么原点的位置,就不在(0,0)位置了。这时候,如果图里内容比较复杂,那么看起来就不容易找到原点。为了解决这个问题,需要在坐标点(0,0)的...

2020-11-23 09:29:21 33 0

原创 深入浅出matplotlib(7):图形失真

在某些方面的应用,需要对画图有一个严格的要求,比如不能把一个长方形显示出来是一个正方形,也不能把一个正方形显示为一个长方形。对于这样显示的问题,简单地来说叫做失真,虽然数值上的坐标点的距离是相等的,但是在屏幕上显示的距离不一样,导致失真。假如老师在教小学生认识正方形,但是老师做出来的课件老是显示为...

2020-11-21 08:42:08 38 0

原创 深入浅出matplotlib(6):颜色

要想把数据表示得生动的趣,往往需要使用多种颜色来配合,才可以让数据得已区分开来。那么就来学习一下matplotlib的颜色。在matplotlib里主要使用一些简单的字母来表示颜色,比如: ‘k’表示黑色; ‘b’表示蓝色 ‘c’表示青色 ‘g’表示绿色 ‘m’表示洋红 ‘r’表示红色...

2020-11-21 07:47:06 43 0

原创 深入浅出matplotlib(5):坐标轴的标签和标题

当我们想要使用坐标系来表示数据的关系时,往往需要给坐标系进行命名,比如物理学上的时间-距离曲线,就会把X轴命名为时间,Y轴命名为距离,这样画出来的曲线就是时间-距离曲线。当我们想表示收入-时间曲线时,可以把X轴表示月份,把Y轴表示收入金额。类似的情况有很多,但是总需要给坐标轴进行一个命名,或者分配...

2020-11-19 10:22:12 48 0

原创 深入浅出matplotlib(4):网格线的颜色和刻度

有时候想显示的网格线与数据显示的曲线不一样,有明显的对比效应,最先想到的就是使用颜色。比如数据使用使用黑色,而网格使用蓝色。如下图就是显示蓝色的网格线: 在这里还是使用plt.grid函数,这个函数的定义如下: matplotlib.pyplot.grid(b=None, which=&#...

2020-11-14 23:12:50 86 0

原创 深入浅出matplotlib(3):设置绘图区域大小

前面学习了怎么样找到区域,也就是找到可以绘画的地方,现在就相当于画家有了笔和纸,这样要考虑怎么样去布局这张白纸了。如果学习中学的数学,肯定知道画曲线时,先要确定一个坐标系,通常就是画出直角坐标系。要想画出直角坐标系,那么就需要确定原点的位置和两条坐标轴的方向,当然还要确定两条坐标轴的长度,以及每个...

2020-11-09 22:15:14 115 0

原创 深入浅出matplotlib(2):绘图区域

假设我们要开始学习画画,那么首先要准备好的工具就是笔和纸,接着根据需要确认纸的方向。一般情况下,纸张都是长方形,要确认它是横着摆,还是竖着摆,不同的摆放会导致显示的空间布局。计算机的发展,也是这样的,可以认为计算机的显示器就是一张白纸,显示器怎么样摆放呢?往往是横着摆放。当我们想要在计算机显示器上...

2020-11-08 13:46:49 70 0

原创 深入浅出matplotlib(1):为什么要使用matplotlib

第一次工业革命是蒸汽时代,第二次工业革命是电气时代,第三次工业革命是信息时代,马上要迎来第四次工业革命—智能时代。我们知道整个世界主要有三大元素组成:物质、能源和智慧。前两次的工业革命都是则重于物质和能源的进步,后两次的工业革命却是智慧的进步。在信息化时代,已经把世界改造得天翻地覆,那么随着智能时...

2020-11-07 18:51:59 156 0

原创 《Fluent Python》读书笔记-2.9

如果你有很多数组要进行保存数据,并且进行查看和运算,那么你就必须要熟悉memorview的使用,否则你会导致处理数据效率低下。 使用memorview memorview类是一个共享内存数据的类,当你使用它来切片数组时,并不需要拷贝数据就可以查看。因此,它被大量地使用在NumPy库里。...

2020-11-07 11:23:42 110 0

原创 《Fluent Python》读书笔记-2.8

在序列容器里有一个经常的操作,那就是排序。 list.sort 和 内置sorted函数 list.sort方法是把列表在原地进行排序的操作,也就是说不产生新的列表返回,它执行结束之后返回None。此方法返回None表示它不创建新的列表对象返回,并且它在原地修改了列表,这一个编程习惯在...

2020-11-06 18:19:26 58 0

原创 《Fluent Python》读书笔记-2.7

大家经常使用Python就会发现有一些公共操作,比如对序列容器进行并接和重复。在Python里,主要通过加号(+)和乘号(*)来实现。 +和*对容器操作 Python编译器的开发人员使用+和*来实现对序列容器进行串联操作。当我们使用+来串联时,一般要求两个参数都是同一个类型的序列容器对象,...

2020-11-05 15:56:40 108 0

原创 《Fluent Python》读书笔记-2.6

切片(Slicing) 在所有序列容器,包括列表、元组、字符串等等,它们都支持切片操作,这是Python语言的强大武器,本文将开始学习切片的高级使用技巧。 为什么切片和Range操作都不包括最后一项? 从Python语法里知道,当进行切片操作时,比如mylist[0,2]的操作,并不包括...

2020-11-05 09:49:18 65 0

原创 《Fluent Python》读书笔记-2.5

前面学习了元组拆包,用处很多,可以用来多个变量并行赋值、交换数据、调用函数、函数返回值分拆等等。接着思考这样一个问题,如果一个生成器表达式产生不定项的数据,怎么样来进行并行赋值呢? 使用星号(*)来接收不定项的赋值 在Python的函数里,常常使用*args来接收不定项的函数参数,这是Py...

2020-11-04 12:19:38 82 0

原创 《Fluent Python》读书笔记-2.4

元组(tuple)不仅仅是不可改变的列表 在很多Python的教材里都是把元组当作不可修改的列表来看待,其实元组不仅如此,还有另外一个大作用,当作没有记录名称的记录数据表示。这种使用方法往往容易被人们忽略它,导致广泛地缺乏认识到它的作用。 元组作为记录 当你把元组当作记录使用时,元组...

2020-11-03 17:31:25 105 0

原创 《Fluent Python》读书笔记-2.3

接着下来介绍一下怎么样使用列表解析来生成笛卡尔积,其实就是每一项由两个或多个列表的项联组成。如下图所示: 笛卡尔积 列表解析能从两个或多个列表联合生成笛卡尔积,每一项由每个列表里的项构造,然后保存为一个元组,把这些元组构造成一个列表,这个列表的长度等于所有输入列表长度的乘积。下面的例子...

2020-11-03 14:09:59 74 0

原创 《Fluent Python》读书笔记-2.2

在众多的序列型的容器里,最基本的容器是列表(list),它不仅可修改而且可以昆合不同的数据类型。我相信所有人都学会它的基本操作,但是有点难度的就是列表解析(list comprehension)了。一种强大的构建列表的方法,但由于语法的不熟悉,或不理解,它的作用被低估计了。掌握列表解析就是打开生成...

2020-11-02 11:40:53 66 0

原创 《Fluent Python》读书笔记-2.1

Python的创建人Guido在创建Python之前,他用了10年的时间在开发一种叫ABC的语言,这种语言是为初学者量身定制。在ABC里定义了很多像目前Python的属性:序列范型操作、内置元组和映射类型、缩进排版结构、没有声明的强类型变量等等。因此,Python对用户这么友好并不是偶然决定的,而...

2020-11-01 17:44:02 105 0

原创 对比学习Python格式化字符串的三种方法(%,format(),f-string)

技术总是随着时代进步而不断地往前推进,也许因为人们对自己的需求不太清楚,也许是由于当时思维模式不对,也许是习惯的力量。在Python的功能里,也是一步一步地往前推进,它的易用性也是一步一步地更方便了。Python 3.6 引入了新的字符串格式化方式 f-string,与其它格式化方式相比,不仅简洁...

2020-11-01 10:11:25 123 0

原创 Python里变量进行类型备注

众所周知Python是动态语言,变量可以动态地赋值,函数的参数变量也可以动态地改变类型,但是有时候写出下面这样的代码: #学习算法笔记-蔡军生(qq:9073204) #https://mysoft.blog.csdn.net/ #2020-10-30 def add(x, y): ...

2020-10-31 20:40:34 93 0

原创 Python从zip文件里导入包

有时候为了节省空间,可以把包压缩成zip文件,这样方便管理,方便上传到网络上,也方便拷贝。但是有没有方法可以直接使用zip文件的包,而不需要解压出来呢?这是有的。 先创建一个目录如下: 然后把demo目录使用压缩软件,或者使用Python里的zip模块,就可以生成压缩文件mylib.zi...

2020-10-30 19:35:30 104 0

原创 Python对于包的使用

随着对Python学习的深入,慢慢就会成长起来,这时薪水也会水高船涨。这是因为你的代码越写越多,积累各种代码模块也越来越多,对于老板布置的任务也越来越得心应手,对于客户提出的要求也越来越随心所欲。一个成长起来的程序员,与初入门的程序员的区别在哪里呢?显然不仅仅是薪水的差别,关键还是能力的差别。当然...

2020-10-30 19:16:16 50 0

原创 Python里__all__变量的作用

在Python的模块里,要想像C语言编写的DLL动态连接库一样,可以提供函数的接口名称,就需要使用__all__变量了。通过这个特性,可以控制哪些函数被外面引用,哪些不能看见。这对一个大工程的软件来说是至关重要,因为没有控制的暴露,会导致别的软件开发人员乱用,从而让软件调用之间出现隐形的问题。比如...

2020-10-30 17:30:23 353 1

原创 Python -m abc和Python abc.py的区别

学了一段时间Python语言之后,很多人开始编写复杂的软件,这时代码写在一个文件里,已经不太可能。另外,自己想写所有的功能代码也不太可能了,更何况还有老板的deadline。还有不断地重复地造轮子也不是办法,如果有相同的功能,又可以控制的代码,肯定先用这种方式。这时就需要调用别人的模块组件,在调用...

2020-10-30 11:07:33 79 0

原创 Python开发人员常犯的几个重大错误

Python 无疑是当今使用最广泛的编程语言,特别是进入人工智能时代,已经成为人工智能开发的主要语言,甚至小学三年级就已经教学该语言。它之所以如此流行,很大程度上是由于简单的语法和老少皆宜的可读性,这使得它非常容易使用。初学者之所以喜欢 Python,是因为它给人一种感觉就像是用英语写一段伪代码一...

2020-10-29 16:20:38 104 0

原创 Python多线程时使用屏障对象

如果你仔细地看了我前面的文章,会发现多线程同步里,有已经介绍了锁和事件对象进行同步,接着下来介绍一个比较不一样的同步对象:屏障(threading.Barrier)。屏障对象在多线程同步中设置一道门,而这扇门有一把锁,需要一定数量的线程到达之后才可以解锁。如果先到的线程,就会等待,直到数量满足。这...

2020-10-29 10:52:49 91 0

原创 Python使用事件信号进行线程同步

线程同步除了使用线程锁之外,还可以使用事件信号Event类。为什么要使用事件信号呢?其实从生活中的例子就可以懂得这个道理,比如两个人一起煮饭。一个人洗锅,一个人洗米。如果先洗米的人干活比较快,或者说比较懒,只洗一次米,洗完的米就立即倒到锅里,而另外一个还没有把锅洗干净,这时会发生什么呢?不是给洗锅...

2020-10-29 09:50:31 42 1

原创 Python使用线程锁

随着技术不断地发展,之前的CPU只有一个核心,现在已经有多达几十个,甚至几百个。这就意味着多线程的程序可以让每个线程可以独占一个CPU核心来运行了。既然每个核心是独立的,那么就会像多人爬山,总有人跑得快,每个人到达山顶的顺序会不一样。如果让多人接力地送一批物资到山上,那么这批人就必须要配合才行,否...

2020-10-29 09:01:42 50 1

原创 Python多线程的使用

有很多人一直无法理解为什么要使用多线程,其实可以这样理解,就像一条高速公路,如果每次只让一辆货车去运货,显然跑得再快,也只是一辆车,整条高速公路还是有空的地方,这样达不到高效地使用高速公路。如果多让几辆车去运货,就不一样的了。所以多线程就像多几辆车一样的,CPU运行得很快,如果只有一个线程运行,那...

2020-10-28 15:47:36 70 1

原创 Python极简地创建HTTP服务器

在所有人的记忆里,创建一个HTTP服务器,也许是非常复杂的,动则几个月的工作量,这是对大型的网站也许是这样的。不过,如果只是想在自己的测试领域里做一下测试,或者说是辅助型的服务器时,就可以非常简单了。又或者是在树莓派这样的嵌入式设备里的小网站,就可以使用简单的服务器了。创建简单的服务器,一定是连接...

2020-10-28 09:36:37 92 0

原创 Python使用HTTP协议下载文件

HTTP协议是非常重要的,如果没有HTTP协议就可以说没有互联网。因为浏览所有网页,都是来源于HTTP协议的支持,不但包括新闻网站,还包括购物网站,还有众多的搜索网站。在Python里http.client模块提供了一些类,可以向HTTP服务器发送请求,并读取服务器的响应。 首先要确定服务...

2020-10-28 08:42:43 60 0

原创 Python的UDPServer类的使用

Python的UDPServer类的使用 前面学习过TCPServer类的使用,如果你没有学过,赶紧回头先看它,否则就不会明白这里的知识。创建服务器对象UDPServer之后,调用serve_forever函数启动一个循环事件,可以不断地接收来自客户端的请求,直到关闭为止。在这里也需要继承Ba...

2020-10-27 16:23:57 83 0

原创 Python的TCPServer类的使用

前面学习使用Socket来创建TCP服务器,但是那样什么都得从头来做,有时候使用起来比较麻烦一些,如果再往前走一步,就是提供一个好用一点的TCP服务器,那么就更加好了。因此Python的标准库里,又提供了这样的功能,它是在模块socketserver里面。 由于socketserver里进行封...

2020-10-27 15:47:22 77 0

原创 也来谈谈造芯之路

芯片,当前无疑是最为紧急的商品;芯片的政策,无疑最需要关注;芯片的方向,无疑成为当前最为关心的事情。在受到国外无端打压之下,怎么样才能走出一条造心之路呢? 有人看到各地有烂尾的项目,就开始质疑造芯的项目了。其实,烂尾的项目是一定会存在的,因为市场经济,它不是计划经济。按照市场经济的规律,一定会...

2020-10-27 11:39:52 61 0

原创 Python的TCP和UDP通信协议

当你正在享受“打工体”: 生活里80%的痛苦来源于打工,但是我知道,如果不打工,就会有100%的痛苦来源于没钱,所以在打工和没钱之间,我选择打工。----《打工宣言》 头条的时候,发现信息传播是如此之快,热点是一浪接一浪,让人生活得快速而紧凑,时而心里一笑,时而沉默地思考。 在如今的信息化...

2020-10-27 09:51:21 56 0

原创 Python文件读写的操作

读写文件是最基本的操作,在UNIX系统里,对所有操作的对象都可以看作为文件,一切都是文件,无论是磁盘的文件对象,还是外设对象。无论是实际的文件,还是虚拟的内存设备。可见在操作系统层上,就定义了文件作为标准的操作标准,因而理解了文件的操作,或者说操作过程,就可以认为对这种编程范式作了深入的理解。文件...

2020-10-26 17:01:53 67 1

原创 对Python内存流的理解和作用

要理解内存流的概念,那么就需要对硬件有一点了解。我们知道今天的计算机主要有两大部件:CPU和存储器。CPU是中央处理器,主要负责执行、控制、计算等任务,有点像图像馆里的管理员;而存储器就像图书馆里的书,所有知识就保存在书里面。如果要对知识进行处理,需要管理员找到相应的书籍,再经过阅读,就可以拿到知...

2020-10-26 11:21:01 59 0

原创 Python一分钟实现CSV文件读写

跟CSV文件打交道已经很久了,但是脑海里还是记得很清楚,原因就是留下的印象太深刻,仿佛就是昨天发生的样子。记得那一年还是快要大学毕业那年,由于实验数据很多,至少有几个G。由于数据太多,导师要求我们把数据处理一下,把有用数据的抽取出来。就这么一个简单的任务,居然还做出了惊天动地的大错,差点毕业都是成...

2020-10-25 10:14:38 75 0

原创 Python一分钟实现JSON文件读写

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1...

2020-10-25 09:05:04 75 0

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