- 军军小站|张军博客
拥有Python标签的文章
Python

【Python基础学习】—GIL

前言我们在使用python开发的过程中时常听到GIL这个词,并且发现这个词经常和Python无法高效的实现多线程关联在一起,关于python多线程的实现在前面的文章已经介绍过,本文我们主要来了解一下GIL到底是什么?为什么会影响python的多线程。一、什么是GILGIL全称GlobalInterpreterLock,官方给出的解释如下:InCPython,theglobalinterpreterlock,orGIL,isamutexthatprevent

系统 2019-09-27 17:53:19 2213

Python

python简易实现k-means

用dist存放所有数据到中心的距离,有n行(n组数据),k+1列(前k列分别存放到第i个类中心的距离,最后一列存放分到了第几类)#!/usr/bin/envpython#-*-coding:utf-8-*-importnumpyasnpn=100x=np.arange(100)y=np.arange(200,300,1)#1、选中心,此时假设分为两个类k=2center0=np.array([x[0],y[0]])center1=np.array([x[1

系统 2019-09-27 17:52:46 2213

Python

Python遍历pandas数据方法总结

前言Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。其中Pandas定义了Series和DataFrame两种数据类型,这使数据操作变得更简单。Series是一种一维的数据结构,类似于将列表数据值与索引值相结合。DataFrame是一种二维的数据结构,接近于电子表格或者mysql数据库的形式。在数据分析中不可避免的涉及到对数据的遍历查询和处理,比如我们需要将dataframe两列数据两两相除,并将结果存储于一个新的列表

系统 2019-09-27 17:52:15 2213

Python

python字符串拼接效率比较

直接看代码方式一:importtimestart_time=time.perf_counter()s=''forninrange(0,1000):s+=str(n)end_time=time.perf_counter()print('Timeelapse:{}'.format(end_time-start_time))方式二:importtimestart_time=time.perf_counter()s=[]forninrange(0,1000):s.

系统 2019-09-27 17:51:45 2213

Python

详解用Python为直方图绘制拟合曲线的两种方法

直方图是用于展示数据的分组分布状态的一种图形,用矩形的宽度和高度表示频数分布,通过直方图,用户可以很直观的看出数据分布的形状、中心位置以及数据的离散程度等。在python中一般采用matplotlib库的hist来绘制直方图,至于如何给直方图添加拟合曲线(密度函数曲线),一般来说有以下两种方法。方法一:采用matplotlib中的mlab模块mlab模块是Python中强大的3D作图工具,立体感效果极佳。在这里使用mlab可以跳出直方图二维平面图形的限制,

系统 2019-09-27 17:51:24 2213

Python

如何使用Python实现斐波那契数列

斐波那契数列(Fibonacci)最早由印度数学家Gopala提出,而第一个真正研究斐波那契数列的是意大利数学家LeonardoFibonacci,斐波那契数列的定义很简单,用数学函数可表示为:数列从0和1开始,之后的数由前两个数相加而得出,例如斐波那契数列的前10个数是:0,1,1,2,3,5,8,13,21,34。用Python实现斐波那契数列常见的写法有三种,各算法的执行效率也有很大差别,在面试中也会偶尔会被问到,通常面试的时候不是让你简单的用递归写

系统 2019-09-27 17:50:36 2213

Python

Python实现的基于Scrapy爬虫框架和Django框架的新闻采集和订阅

随着互联网的迅速发展,互联网大大提升了信息的产生和传播速度,网络上每天都会产生大量的内容,如何高效地从这些杂乱无章的内容中发现并采集所需的信息显得越来越重要。网络中的新闻内容也一样,新闻分布在不同的网站上,而且存在重复的内容,我们往往只关心其中的一部分新闻,网络中的新闻页面往往还充斥着大量许多与新闻不相关的信息,影响了我们的阅读效率和阅读体验,如何更加方便及时并高效地获取我们所关心的新闻内容,本系统能够帮我们做到这一点。本系统利用网络爬虫我们可以做到对网络

系统 2019-09-27 17:49:08 2213

Python

python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中

爬取TOP500的音乐信息,包括排名情况、歌曲名、歌曲时间。网页版酷狗不能手动翻页进行下一步的浏览,仔细观察第一页的URL:http://www.kugou.com/yy/rank/home/1-8888.html这里尝试将1改为2,再进行浏览,恰好是第二页的信息,再改为3,恰好是第三页的信息,多次尝试发现不同的数字即为不同的页面。因此只需更改home/后面的数字即可。由于每页显示的为22首歌曲,所以总共需要23个URL。importrequestsfro

系统 2019-09-27 17:49:04 2213

Python

Python使用sklearn实现的各种回归算法示例

本文实例讲述了Python使用sklearn实现的各种回归算法。分享给大家供大家参考,具体如下:使用sklearn做各种回归基本回归:线性、决策树、SVM、KNN集成方法:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees1.数据准备为了实验用,我自己写了一个二元函数,y=0.5*np.sin(x1)+0.5*np.cos(x2)+0.1*x1+3。其中x1的取值范围是0~50,x2的取值范围是-10~10,

系统 2019-09-27 17:48:53 2213

Python

Python如何为图片添加水印

添加水印的主要目的是为了版权保护,使自己的图像不被抄袭或者恶意转载。网上有很多制作水印的工具,本帖介绍怎么使用Python-Pillow库给图片添加水印。使用ImageMagick添加图片水印-Linux添加文本水印在图片右下角添加文字:fromPILimportImage,ImageDraw,ImageFont#指定要使用的字体和大小;/Library/Fonts/是macOS字体目录;Linux的字体目录是/usr/share/fonts/font=I

系统 2019-09-27 17:37:51 2213

Python

Python笔记002-列表推导式

Python笔记002-列表推导式以下是我学习《流畅的Python》后的个人笔记,现在拿出来和大家共享,希望能帮到各位Python学习者。首次发表于:微信公众号:科技老丁哥,ID:TechDing,敬请关注。本篇主要知识点:列表推导式可以从一个序列快速构建另一个序列,非常方便快捷,强烈建议使用。列表推导式适用于简单的for循环,可以对一个列表中的每个元素进行相同操作,也可以挑选出原列表中满足一定条件的元素组成新的列表。集合推导式应用比较少,而字典推导式却应

系统 2019-09-27 17:56:35 2212

Python

Python实现的一个简单LRU cache

起因:我的同事需要一个固定大小的cache,如果记录在cache中,直接从cache中读取,否则从数据库中读取。python的dict是一个非常简单的cache,但是由于数据量很大,内存很可能增长的过大,因此需要限定记录数,并用LRU算法丢弃旧记录。key是整型,value是10KB左右的python对象分析:1)可以想到,在对于cache,我们需要维护key->value的关系2)而为了实现LRU,我们又需要一个基于时间的优先级队列,来维护timesta

系统 2019-09-27 17:56:17 2212

Python

python单线程,多线程和协程速度对比

原文链接:https://www.cnblogs.com/hzpythoner/p/7777910.html(现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里https://www.cbedai.net/ialexanderi可以跳转到教程。)在某些应用场景下,想要提高python的并发能力,可以使用多线程,或者协程。比如

系统 2019-09-27 17:54:53 2212

Python

用Python写一个滑动验证码

1.准备阶段滑动验证码我们可以直接用GEETEST的滑动验证码。打开网址:https://www.geetest.com/,找到技术文档中的行为验证,打开部署文档,点击Python,下载ZIP包。ZIP包下载地址:https://github.com/GeeTeam/gt3-python-sdk/archive/master.zip解压,找到django_demo,为了方便复制粘贴代码,可以用编辑器打开项目。2.实施自己先写一个简单的登录,然后将djang

系统 2019-09-27 17:52:24 2212

Python

Python 之父再发文:构建一个 PEG 解析器

花下猫语:Python之父在Medium上开了博客,现在写了两篇文章,本文是第二篇的译文。前一篇的译文在此,宣布了将要用PEG解析器来替换当前的pgen解析器。本文主要介绍了构建一个PEG解析器的大体思路,并介绍了一些基本的语法规则。根据Python之父的描述,这个PEG解析器还是一个很笼统的实验品,而他也预告了,将会在以后的系列文章中丰富这个解析器。阅读这篇文章就像在读一篇教程,虽然很难看懂,但是感觉很奇妙:我们竟然可以见证Python之父如何考虑问题、

系统 2019-09-27 17:51:49 2212