之前一篇文章里提到了利用Cython来编译Python,这次来讲一下如何用Cython给Python写扩展库。 两种语言混合编程,其中最重要的是类型的传递。 我们用一个简单的例子进行入门:这次的目标是用C语言写一个Numpy的加法和元素相乘模块。在本例中,Numpy的array被传入到C语言模块内,变成了二维数组。 1. 头文件main.h: #ifndef _MAIN_H #define _MAIN_H void plus(double *a, double *b, double *r, int n, int m); // 矩阵加法 void mul(double *a, double *
2022-07-29 11:07:03 194KB cython python函数 写代码
1
本文实例讲述了Python实现子类调用父类的方法。分享给大家供大家参考。具体实现方法如下: python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法。如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找。 继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的。 子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题 如果子类和父类都有构造函数,子类其实是重写了父类的构造函数,如果不显式调用父类构造函数,父类的构造
2022-07-25 17:26:09 54KB python python函数 python实例
1
如果要从序列中随机挑选元素,我们可以使用random模块的random.choice()方法: 如果想要取出N个元素,将选出的元素一处以做进一步的考察,可以使用random.sample()方法: 如果我们只是想要打乱序列的顺序(洗牌),可以使用random.shuffle(): 要产生随机数,可以使用random.randint()方法: 如果要产生0-1之间均匀分布的浮点数值,可以使用random.random()方法: 如果要得到N各随机比特位所表示的整数,可以使用random.getrandbits()方法: 请注意: random模块使用 马特赛特旋转演算法(Mers
2022-07-23 11:22:36 165KB python python函数 python算法
1
在运行复杂的Python程序时,执行时间会很长,这时也许想提高程序的执行效率。但该怎么做呢? 首先,要有个工具能够检测代码中的瓶颈,例如,找到哪一部分执行时间比较长。接着,就针对这一部分进行优化。 同时,还需要控制内存和CPU的使用,这样可以在另一方面优化代码。 因此,在这篇文章中我将介绍7个不同的Python工具,来检查代码中函数的执行时间以及内存和CPU的使用。 1. 使用装饰器来衡量函数执行时间 有一个简单方法,那就是定义一个装饰器来测量函数的执行时间,并输出结果:   import time from functools import wraps def fn_timer(func
2022-07-21 19:16:42 394KB cpu时间 python python函数
1
python函数速查表,供自行学习使用,禁止商业转载
2022-07-11 11:16:25 16.2MB python nupmy SciPy
1
代理服务原理很简单,就拿浏览器与web服务器来说。无非是A浏览器发request给B代理,B代理再把request把送给C web服务,然后C的reponse->B->A。要写web代理服务就要先了解下http协议,当然并不要多深入,除非要实现强大的功能:修改XX信息、负载均衡等。http请求由三部分组成:请求行、消息报头、请求正文;详细的网上有,想了解可以看看。下面是一个正常的GET请求头(Cookie部分本人没截屏,使用的系统w7):可以看到首行:GET是请求方法, /是路径,在后面是协议版本;第二行以后是请求报头,都是键值对形式;GET方法没有正文。post有正文,除此之外,请求方法头部
2022-07-10 10:28:11 110KB python python函数 python实例
1
前言 Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便。wifi跟我们的生活息息相关,无处不在。今天从WiFi连接的原理,再结合代码为大家详细的出一期关于Python破译wifi密码的Python学习教程! 01.如何连接wifi 首先我们的电脑是如何连接wifi的呢?就拿我们的笔记本电脑来说,我们的笔记本电脑都有无线网卡,如下图所示: 当我们连接WiFi时,无线网卡会自动帮助我们扫描附近的WiFi信号,并且会返回WiFi信号的一些信息,包括了网络的名称(SSID),信号的强度,加密和认证的方式等。这些信息我们在进行操作
2022-07-08 14:09:39 245KB IF python python函数
1
python 自动生成动态变量及应用 在这里我们需要exec函数 exec(object[, globals[, locals]]) object:(必填)表示需要执行的Python代码 globals:(选填)表示全局命名空间 locals:(选填)表示当前局部命名空间 Example:生成10个变量 ['q_0', 'q_1', 'q_2', 'q_3', 'q_4', 'q_5', 'q_6', 'q_7', 'q_8', 'q_9'] 生成变量q_0到q_9,并赋值其平方数,代码如下 total=10 for i in range(total): exec('q_%d =
2022-07-05 14:14:09 34KB python python函数 动态
1
第一种情况 os.system('ps aux') 执行系统命令,没有返回值 第二种情况 result = os.popen('ps aux') res = result.read() for line in res.splitlines(): print line 执行系统命令,可以获取执行系统命令的结果 p = subprocess.Popen('ps aux',shell=True,stdout=subprocess.PIPE) out,err = p.communicate() for line in out.splitlines():
2022-07-02 00:38:01 35KB python python函数 python实例
1
kNN(k-nearest neighbor)是一种基本的分类与回归的算法。这里我们先只讨论分类中的kNN算法。 k邻近算法的输入为实例的特征向量,对对应于特征空间中的点;输出为实例的类别,可以取多类,k近邻法是建设给定一个训练数据集,其中的实例类别已定,分类时,对于新的实例,根据其k个最邻近的训练实例的类别,通过多数表决等方式进行预测。所以可以说,k近邻法不具有显示的学习过程。k临近算法实际上是利用训练数据集对特征向量空间进行划分,并作为其分类的“模型” k值的选择,距离的度量和分类决策规则是k近邻算法的三个基本要素。 这里需要说明的是,对于距离的度量,我们有很多种度量方法可以选择,如
2022-06-30 15:50:12 96KB knn python python函数
1