Python | 面试必问,线程与进程的区别,Python中如何创建多线程?
今天是Python专题第20篇文章,我们来聊聊Python当中的多线程。 其实关于元类还有很多种用法,比如说如何在元类当中设置参数啦,以及一些规约的用法等等。只不过这些用法比较小众,使用频率非常低,所以我们不过多阐述了,可以在用到的时候再去详细了解。我想只要大家理解了元类的原理以及使用方法,再去学习那些具体的用法应该会很容易。所以我们今天开始了一个新的话题——多线程和并发。
博弈论进阶 | 三下五除二解决组合博弈问题的SG函数,究竟是何方神圣?
今天这篇是算法与数据结构专题的第27篇文章,我们继续深入博弈论问题。今天我们要介绍博弈论当中非常重要的一个定理和函数,通过它我们可以解决许多看起来杂乱无章的博弈问题,使得我们可以轻松地解决一大类博弈问题。有了SG函数和SG定理,我们不再是单纯地通过构思、分析和找规律去解决问题了。并且我们之前学过的巴什博奕、
PCA算法 | 数据集特征数量太多怎么办?用这个算法对它降维打击!
今天是机器学习专题的第27文章,我们一起来聊聊数据处理领域的降维(dimensionality reduction)算法。 我们都知道,图片格式当中有一种叫做svg,这种格式的图片无论我们将它放大多少倍,也不会失真更不会出现边缘模糊的情况。原因也很简单,因为这种图片是矢量图,一般的图片存储的是每一个像素点的颜色值,而在矢量图当中,我们存储的是矢量,也就是起点终点以及颜色。由于矢量图只记录起点终点
Python专题(四) 如何制作一个demo给老板看
用了几个月做了一个项目,肯定要好好给老板展示一下。你会怎么做呢?是不是立马开始截图准备做PPT了呢?PPT虽好,但是也只能给老板展示一些静态图片和视频,并不能实时展示你的功能。那么我们可以用Python做一个简单的网页来展示我们的工作成果。本文就分享一下如何用轻量级Web框架Flask+HTML+J
Python元类实战,动手实现数据库ORM框架
点击上方蓝字,和我一起学技术。今天是Python专题的第19篇文章,我们一起来用元类实现一个简易的ORM数据库框架。本文主要是受到了廖雪峰老师Python3入门教程的启发,不过廖老师的博客有些精简,一些小白可能看起来比较吃力。我在他的基础上做了一些补充和注释,尽量写得浅显一些。ORM框架是什么如果是
手把手教你使用Pygame制作飞机大战小游戏,4万字超详细讲解!
点击上方“早起Python”,关注并“星标”每日接收原创Python干货!大家好,偷学Python系列是由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示。刚入门的读者千万不要错过!本文带来的是偷学Python最后的项目二:使用Python开发飞机大
Pytorch入门——手把手带你配置云服务器环境
点击上方蓝字,和我一起学技术。今天这篇是Pytorch专题第一篇文章。大家好,由于我最近自己在学习Pytorch框架的运用,并且也是为了响应许多读者的需求,推出了这个Pytorch专题。由于这个专题是周末加更的,所以不能保证更新进度,我尽量和其他专题一样,每周一更。Pytorch简介Pytorch底
LeetCode 80,不使用外部空间的情况下对有序数组去重
点击上方蓝字,和我一起学技术。今天是LeetCode专题的第49篇文章,我们一起来看LeetCode的第80题,有序数组去重II(RemoveDuplicatesfromSortedArrayII)。这题的官方难度是Medium,通过率是43.3%,点赞1104,反对690。这题的通过率有一点点高,
LeetCode 79,明明是走迷宫问题,为什么不能用宽搜呢?
这一题官方给的难度是Medium,通过率是34.5%,点赞3488,反对170。单从这份数据上来看,这题的质量很高,并且难度比之前的题目稍稍大一些。我个人觉得通过率是比官方给的题目难得更有参考意义的指标,10%到20%可以认为是较难的题,30%左右是偏难的题。50%是偏易题,所以如果看到某题标着Hard,但是通过率有50%,要么说明题目很水,要么说明数据很水,总有一点很水。
【斯坦福算法分析和设计01】介绍
点击上方蓝字,关注公众号目录1.为什么要学算法2.整数乘法问题2.1问题描述2.2小学算法2.3小学算法操作数量分析2.4还能做的更好吗3.Karatsuba乘法3.1一个例子3.2一种递归算法3.3Karatsuba乘法4.MergeSort算法4.1为什么要学MergeSort(Motivati
Golang入门教程——面向对象篇
在现在高级语言当中,面向对象几乎是不可或缺也是一门语言最重要的部分之一。golang作为一门刚刚诞生十年的新兴语言自然是支持面向对象的,但是golang当中面向对象的概念和特性与我们之前熟悉的大部分语言都不尽相同。比如Java、Python等,相比之下, golang这个部分的设计非常得简洁和优雅(仁者见仁),所以即使你之前没有系统地了解过面向对象,也没有关系,也一定能够看懂。
Numpy专题最后一篇,随机数、线性代数与持久化
在我们做机器学习模型的研究或者是学习的时候,在完成了训练之后,有时候会希望能够将相应的参数保存下来。否则的话,如果是在Notebook当中,当Notebook关闭的时候,这些值就丢失了。一般的解决方案是将我们需要的值或者是数组“持久化”,通常的做法是存储在磁盘上。 Python当中读写文件稍稍有些麻烦,我们还需要创建文件句柄,然后一行行写入,写入完成之后需要关闭句柄。即使是用with语句,也
威佐夫博弈,两人同时取石子的问题,怎么和黄金分割扯上了关系?
今天是算法和数据结构专题第25篇文章,我们继续博弈论专题。 在上一篇文章当中我们了解了最简单的巴什博奕,今天我们来看看另一个经典的博弈模型——威佐夫博弈。博弈论和机器学习有些类似,数学家们针对场景进行建模,设计出了几个经典模型。然后我们在面临具体问题的时候,对问题进行深入分析,寻找最合适的模型应用来解决它。
机器学习——打开集成方法的大门,手把手带你实现AdaBoost模型
今天是机器学习专题的第25篇文章,我们一起来聊聊AdaBoost。 我们目前为止已经学过了好几个模型,光决策树的生成算法就有三种。但是我们每次进行分类的时候,每次都是采用一个模型进行训练和预测。我们日常在做一个决策的时候,往往会咨询好几个人,综合采纳他们的意见。那么有没有可能把这个思路照搬到机器学习领域当中,创建多个模型来综合得出结果呢?
机器学习——打开集成方法的大门,手把手带你实现AdaBoost模型
点击上方蓝字,和我一起学技术。今天是机器学习专题的第25篇文章,我们一起来聊聊AdaBoost。我们目前为止已经学过了好几个模型,光决策树的生成算法就有三种。但是我们每次进行分类的时候,每次都是采用一个模型进行训练和预测。我们日常在做一个决策的时候,往往会咨询好几个人,综合采纳他们的意见。那么有没有
Python进阶灵魂拷问,元类是什么,它有什么用?
在上上篇文章当中我们介绍了type元类的用法,在上一篇文章当中我们介绍了__new__函数与__init__函数的区别,以及它在一些设计模式当中的运用。这篇文章我们来看看metacalss与元类,以及__new__函数在元类当中的使用。上一篇文章非常重要,是这一篇的基础,如果错过了上篇文章,推荐回顾一下:Python面试常见问题,__init__是构造函数吗?
想做个小程序,但是走了两个月弯路是种怎样的体验?
众所周知,前段时间TechFlow的留言板小程序上线了,点击文章末尾的图片进入。虽然到现在为止好像也没什么人评论(说明评论不重要嘛),但至少这个功能是有了。今天和大家聊聊,我做这个小程序的过程中的一些体会。
啤酒和尿布放在一起卖得更好?来看看这个故事背后的Apriori算法
今天是机器学习专题的第19篇文章,我们来看经典的Apriori算法。Apriori算法号称是十大数据挖掘算法之一,在大数据时代威风无两,哪怕是没有听说过这个算法的人,对于那个著名的啤酒与尿布的故事也耳熟能详。但遗憾的是,随着时代的演进,大数据这个概念很快被机器学习、深度学习以及人工智能取代。即使是拉
Python装饰器不会传参?别着急,这篇文章为你解惑
今天是Python专题的第13篇文章,上一篇文章当中我们介绍了Python装饰器的定义和基本的用法,这篇文章我们一起来学习一下Python装饰器的一些进阶使用方法。对装饰器不太熟悉,或者错过了上篇内容的小伙伴可以点击下方传送门。一文搞定Python装饰器,看完面试不再慌之前的文章当中我们从前到后仔细
LeetCode 3题合集,砍瓜切菜刷三题不费劲
今天是LeetCode专题的第34篇文章,刚好接下来的题目比较简单,很多和之前的做法类似。所以我们今天出一个合集,一口气做完接下来的57、59和60这三题。再次申明一下,为了节约篇幅,保证文章的质量,我跳过了LeetCode当中所有的Easy以及少量没什么营养的Medium和Hard的问题。Easy