测试函数主要是用来评估优化算法特性的,这里我用python3绘制了部分测试函数的图像。具体的测试函数可以结合维基百科来了解。想要显示某个测试函数的图片把代码结尾对应的注释去掉即可,具体代码如下:importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Ddefdraw_pic(X,Y,Z,z_max,title,z_min=0):fig=plt.figure(
系统 2019-09-27 17:56:51 2229
1、getitem方法使用这个方法最大的印象就是调用对象的属性可以像字典取值一样使用中括号['key']使用中括号对对象中的属性进行取值、赋值或者删除时,会自动触发对应的__getitem__、__setitem__、__delitem__方法代码如下:classFoo(object):def__init__(self):self.name='jack'def__getitem__(self,item):ifiteminself.__dict__:#ite
系统 2019-09-27 17:56:08 2229
对于每一个学习Python的同学,想必对@符号一定不陌生了,正如你所知,@符号是装饰器的语法糖,@符号后面的函数就是我们本文的主角:装饰器。装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为装饰器。曾经我在刚转行做程序员时的一次的面试中,被面试官问过这样的两个问题:1、你都用过装饰器实现过什么样的功
系统 2019-09-27 17:55:11 2229
Python信息抽取之乱码解决办法就事论事,直说自己遇到的情况,和我不一样的路过吧,一样的就看看吧信息抓取,用python,beautifulSoup,lxml,re,urllib2,urllib2去获取想要抽取的页面内容,然后使用lxml或者beautifulSoup进行解析,插入mysql具体的内容,好了貌似很简单很easy的样子,可是里面的恶心之处就来了,第一,国内开发网站的人在指定网站编码或者是保存网站源码的时候并没有考虑什么编码,反正一句话,一个
系统 2019-09-27 17:54:45 2229
Python两数相加LeetcodeNo.2思路很简单,模拟小学加法运算就好了,因为是逆序的,头指针指向的那个其实就是个位,往后加就完事,但是唯一需要注意的是,最高位可能有进位。(属于代码练习题)ps:还有人说先把数全部取出来,用计算机加法算完,再建立链表连接起来,乍一看有点投机取巧好像可行的样子,但是我们要考虑计算和的时候会溢出。还有人考虑直接在原来的链表上改数字,多一位的话,就再加一个链表,首先不知道leetcode允不允许改数字,毕竟这种题目也是考察
系统 2019-09-27 17:53:35 2229
阅读更多操作列表#列表循环for循环(for**in**)1.注意使用for循环时print前要缩进cats=["alice","clear","dell",'moon']forcatincats:print(cat)#可在for循环中执行更多操作#2.不使用for循环时,切记print能缩进cats=["alice","clear","dell",'moon']forcatincats:print(cat)print("theyaresocute")#在
系统 2019-09-27 17:51:31 2229
前言“列表(list)与元组(tuple)两种数据类型有哪些区别”这个问题在初级程序员面试中经常碰到,超出面试官预期的答案往往能加不少印象分,也会给后续面试顺利进行提供一定帮助,这道题主要考察候选人对Python基本数据结构的掌握程度,属于简单类型的送分题,那么该如何来回答才不至于丢分?相同点:都是序列类型回答它们的区别之前,先来说说两者有什么相同之处。list与tuple都是序列类型的容器对象,可以存放任何类型的数据、支持切片、迭代等操作>>>foos=
系统 2019-09-27 17:50:39 2229
机器学习的三要素:模型,策略,算法模型:感知机是二分类线性分类模型,属于判别模型。策略:基于误分类点到超平面的总距离。学习算法:略感知机存在的问题:存在多解,解依赖于初始超平面的选择以及迭代过程中误分类点的选择。训练集线性不可分,算法无法收敛,解决方法:pocket算法或者使用核函数。无法解决异或问题Python代码实现:importnumpyasnpdeftrain(X_train,Y_train):print(np.shape(X_train))m,n
系统 2019-09-27 17:48:45 2229
希尔排序思想:算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。一般的初次取序列的一半为增量,以后每次减半,直到增量为1。defshell_sort(list):n=len(list)gap=n//2new_list=[]whilegap>1:foriinrange(gap):iflist[i]>list[i
系统 2019-09-27 17:48:17 2229
下表列出了所有Python语言支持的成员运算符。例如:试试下面的例子就明白了所有的Python编程语言提供会员运算符:#!/usr/bin/pythona=10b=20list=[1,2,3,4,5];if(ainlist):print"Line1-aisavailableinthegivenlist"else:print"Line1-aisnotavailableinthegivenlist"if(bnotinlist):print"Line2-bisn
系统 2019-09-27 17:47:51 2229