Python

如何用C代码给Python写扩展库(Cython)

之前一篇文章里提到了利用Cython来编译Python,这次来讲一下如何用Cython给Python写扩展库。两种语言混合编程,其中最重要的是类型的传递。我们用一个简单的例子进行入门:这次的目标是用C语言写一个Numpy的加法和元素相乘模块。在本例中,Numpy的array被传入到C语言模块内,变成了二维数组。1.头文件main.h:#ifndef_MAIN_H#define_MAIN_Hvoidplus(double*a,double*b,double*

系统 2019-09-27 17:54:47 2176

Python

排序算法总结(Python实现)——(一)

整个排序算法分两部分来总结,这篇总结第一部分一些相对简单和常用的排序算法,包括冒泡排序、选择排序、插入排序和希尔排序。冒泡排序冒泡排序应该是大家接触的最早的排序方法了,理解起来也十分简单。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的

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

Python

Python 看门狗功能实现

前言:用python实时实现监控一个文件夹功能,将监控到的Excel(笔者目前用于解析excel文件)解析写到mysql中,起功能和sparkStreaming中的textFileStream功能,个人感觉python代码更好看。毕竟java代码看起来比较繁琐,scala代码简洁,可是它也是借鉴python发展而来啊。python实现看门狗功能代码:#!/usr/bin/python#-*-coding:UTF-8-*-importtimefromwatc

系统 2019-09-27 17:52:09 2176

Python

浅析神经网络(二)——利用PYTHON写Sigmoid函数

Sigmoid函数为神经网络层中的激活函数,是对输入X产生逻辑分类的过程,以下为Sigmoid函数的图像以及在两个变量输入下对其的简单实现。importnumpyasnpdefsigmoid(x):#TODO:Implementsigmoidfunctionreturn1/(1+np.exp(-x))inputs=np.array([0.7,-0.3])weights=np.array([0.1,0.8])bias=-0.1#TODO:Calculatet

系统 2019-09-27 17:51:01 2176

Python

[Python数据分析]NBA的球星们喜欢在哪个位置出手

前言1.这篇数据分析案例,我做了个视频版本,对代码做了解读,讲了运行的注意事项和一些有的没的,供需。对于视频制作还不是很有经验,多包涵。(视频里有彩蛋)2.本文在案例的代码写完后,我把它发在了虎扑上。结果,被推荐上了首页,25万多次浏览,近800回复……感谢各位JRs赏脸!3.获取原图、更多球员生成的结果及完整代码,请在公众号“Crossin的编程教室”内回复关键字:nba--------------------NBA2018-19赛季已经落下帷幕,猛龙击

系统 2019-09-27 17:49:45 2176

Python

python程序中的线程操作 concurrent模块使用详解

一、concurrent模块的介绍concurrent.futures模块提供了高度封装的异步调用接口ThreadPoolExecutor:线程池,提供异步调用ProcessPoolExecutor:进程池,提供异步调用ProcessPoolExecutor和ThreadPoolExecutor:两者都实现相同的接口,该接口由抽象Executor类定义。二、基本方法submit(fn,*args,**kwargs):异步提交任务map(func,*iter

系统 2019-09-27 17:49:19 2176

Python

Python类中的魔法方法之 __slots__

在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果对象很多的情况下会浪费内存空间。可通过__slots__方法告诉python不要使用字典,而且只给一个固定集合的属性分配空间classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=

系统 2019-09-27 17:48:00 2176

Python

《Fluent Python》---一个关于memoryview例子的理解过程

近日,在阅读《FluentPython》的第2.9.2节时,有一个关于内存视图的例子,当时看的一知半解,后来查了一些资料,现在总结一下,以备后续查询;示例复述添加了一些额外的代码,便于更好理解memoryview>>>importarray>>>numbers=array.array('h',[-2,-1,0,1,2])>>>memv=memoryview(numbers)>>>len(memv)5>>>memv[0]-2>>>memv_oct=memv.

系统 2019-09-27 17:47:26 2176

Python

在linux系统下安装python librtmp包的实现方法

安装librtmp包需要依赖环境较多,机器上已经安装了python2.7版本,安装librtmp包之前需要先安装依赖环境。1、安装gcc和依赖包yuminstallgcc*python-devellibffi-dev*-y2、安装librtmp从git上下载源码:gitclonegit://git.ffmpeg.org/rtmpdumpcdrtmpdump/librtmp/make&&makeinstall3、安装setuptoolswget-Shttps

系统 2019-09-27 17:47:18 2176

Python

Deepin(Linux)下编译安装Python-3.7

一、下载官网下载Python-3.7.3(具体版本看你的需求),链接:https://www.python.org/downloads/release/python-373/二、安装解压到任意目录sudotar-JxvfPython-3.7.3.tar.xz指定编译的时候用来存放程序的路径(就可以说是安装目录,我的是/usr/local/python-3.7.3)sudo./configure--prefix=/usr/local/python-3.7.3

系统 2019-09-27 17:47:14 2176

Python

Python程序中的线程操作-锁

目录一、同步锁1.1多个线程抢占资源的情况1.1.1对公共数据的操作1.2同步锁的引用1.3互斥锁与join的区别二、死锁与递归锁2.1死锁2.2递归锁RLock三、典型问题:科学家吃面3.1死锁问题3.2递归锁解决死锁问题一、同步锁1.1多个线程抢占资源的情况fromthreadingimportThreadimportos,timedefwork():globalntemp=ntime.sleep(0.1)n=temp-1if__name__=='__

系统 2019-09-27 17:47:06 2176

Python

Python网络爬虫与信息提取——bs4

BeautifulSoup库解析器解析器使用方法条件bs4的HTML解析器BeautifulSoup(mk,'html.parser')安装bs4库lxml的HTML解析器BeautifulSoup(mk,'xml')pipinstalllxmllxml的XML解析器BeautifulSoup(mk,'xml')pipinstalllxmlhtml5lib的解析器BeautifulSoup(mk,'htm5lib')pipinstallhtm151ibBe

系统 2019-09-27 17:46:54 2176

Python

python PIL模块与随机生成中文验证码

在这之前,你首先得了解Python中的PIL库。PIL是PythonImagingLibrary的简称,PIL是一个Python处理图片的库,提供了一系列模块和方法,比如:裁切,平移,旋转,改变尺寸等等。在PIL库中,任何一个图像都是用Image对象来表示的,所以要加载一张图片,最简单的形式如下:fromPILimportImageimage=Image.open("1.jpeg")在PIL库中,最常用的模块有Image,ImageDraw,ImageEn

系统 2019-09-27 17:37:53 2176

编程技术

《全套人民币欣赏》EXE精美电子书_建国后所有的

第一套人民币发行时间1949.1.10第二套人民币发行时间1955.3.1第三套人民币发行时间1962.4.20第四套人民币发行时间1987.4.27第五套人民币发行时间1999.10.1地址:http://www.edowning.net/soft/5602.htm《全套人民币欣赏》EXE精美电子书_建国后所有的钱币

系统 2019-08-29 23:51:00 2176