聊聊Python的单元测试框架(一):unittest作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言说到Python的单元测试框架,想必接触过Python的朋友脑袋里第一个想到的就是unittest。的确,作为Python的标准库,它很优秀,并被广泛用于各个项目。但你知道吗?其实在Python众多项目中,主流的
系统 2019-09-27 17:47:56 2116
近日,在阅读《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 2116
斐波那契数列当年,典型的递归题目,斐波那契数列还记得吗?deffib(n):ifn==1orn==2:return1else:returnfib(n-1)+fib(n-2)当然,为了程序健壮性,加上try...except...deffib(n):ifisinstance(n,int):print('兄弟,输入正整数哈')returntry:ifn==1orn==2:return1elifn<=0:print('兄弟别输入0或负数呀')else:retur
系统 2019-09-27 17:46:24 2116
因为有一个先入为主的概念:快速排序最牛。因此刚开始一听见快速排序就不敢写,认为其绝对很复杂。事实证明这种想法不能有!简单粗暴地使用递归手写快速排序:(为了面试时候能不怯场的直接手撕)#简单粗暴的快速排序#存在额外的开销存放左右#要多次遍历数组defquicksort(array):#直接递归iflen(array)<2:#递归出口returnarraypivot_index=0pivot=array[pivot_index]left_arr=[iforii
系统 2019-09-27 17:46:01 2116
本文简单的分析了Python中常用的内置函数的用法,分享给大家供大家参考之用。具体分析如下:一般来说,在Python中内置了很多有用的函数,我们可以直接调用。而要调用一个函数,就需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:http://docs.python.org/2/library/functions.html#abs也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。调用
系统 2019-09-27 17:45:33 2116
今天有个需要需要传递中文参数给URL但是在GBK环境下的脚本传递GBK的参数老是给我报UNICODE的解码错误。烦的很。所以我们果断选择用urlencode来处理中文,由于国内外网站编码不同,国内是GBK的,国外是UTF8的。>>>importsys>>>sys.stdin.encoding'GBK'表示我们的环境是GBK的>>>importurllib>>>urllib.quote('编码坑爹')'%B1%E0%C2%EB%BF%D3%B5%F9'这样我
系统 2019-09-27 17:38:34 2116
Python学习笔记(一)#_*_coding:gb2312_*_:这样制定程序的编码;建议如果使用中文,最好用utf-8(用utf-8的时候,),或者gb2312。复数可以直接表示复数a=1.5+0.5j;a.real:取得实部a.imag:取得虚部abs(a):取得模数据类型转换float(),int(),long()我们用a**b表示a的b次方开方依然是函数sqrt(a)最近一次表达式输出,保存在_变量中字符串可以通过几种方式分行。可以
系统 2019-08-29 22:07:05 2116
题目给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。说明:你可以假设k总是有效的,1≤k≤二叉搜索树元素个数。示例1:输入:root=[3,1,4,null,2],k=13/142输出:1示例2:输入:root=[5,3,6,2,4,null,null,1],k=35/36/24/1输出:3进阶:如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第k小的值,你将如何优化kthSmallest函数来源:力扣(Le
系统 2019-09-27 17:53:58 2115
在程序运行的过程中,所有的变量都是在内存中,有时候希望将对象存储下来。我们把对象从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling。picklePython提供两个模块来实现序列化:cPickle和pickle。这两个模块功能是一样的,区别在于cPickle是C语言写的,速度快,pickle是纯Python写的,速度慢。将对象保存为字符串importpicklea1=['abc',[1,2],{'x':3}]s1=pickle.
系统 2019-09-27 17:53:47 2115
Python两数相加LeetcodeNo.2思路很简单,模拟小学加法运算就好了,因为是逆序的,头指针指向的那个其实就是个位,往后加就完事,但是唯一需要注意的是,最高位可能有进位。(属于代码练习题)ps:还有人说先把数全部取出来,用计算机加法算完,再建立链表连接起来,乍一看有点投机取巧好像可行的样子,但是我们要考虑计算和的时候会溢出。还有人考虑直接在原来的链表上改数字,多一位的话,就再加一个链表,首先不知道leetcode允不允许改数字,毕竟这种题目也是考察
系统 2019-09-27 17:53:35 2115
简介python动态执行字符串代码片段(也可以是文件),一般会用到exec,eval。execexec_stmt::="exec"or_expr["in"expression[","expression]]注意:exec是一个语法声明,不是一个函数.也就是说和if,for一样.官方文档对于exec的解释ThisstatementsupportsdynamicexecutionofPythoncode.exec的第一个表达式可以是:1.代码字符串2.文件对象
系统 2019-09-27 17:53:01 2115
Python字符串转数字importbinasciis='test123456test'str_16=binascii.b2a_hex(s.encode('utf-8'))#字符串转16进制print(str_16)defbaseN(num,b):return((num==0)and"0")or\(baseN(num//b,b).lstrip("0")+"0123456789abcdefghijklmnopqrstuvwxyz"[num%b])num_10
系统 2019-09-27 17:52:40 2115
一前言本文算是一次队列的学习笔记,Queue模块实现了三种类型的队列,它们的区别仅仅是队列中元素被取回的顺序。在FIFO队列中,先添加的任务先取回。在LIFO队列中,最近被添加的元素先取回(操作类似一个堆栈)。优先级队列中,元素将保持排序(使用heapq模块)并且最小值的条目第一个返回。值得注意的是Python2.X版本中调用队列需要引用importQueue而在Python3.X版本中则需要importqueue二队列特性2.1Queue的常用函数Que
系统 2019-09-27 17:50:08 2115
LogisticRegressionClassifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数。优点:计算代价不高,易于理解和实现。缺点:容易欠拟合,分类精度可能不高。使用数据类型:数值型和标称型数据。介绍逻辑回归之前,我们先看一问题,有个黑箱,里面有白球和黑球,如何判断它们的比例。我们从里面抓3个球,2个黑球,1个白球。这时候,有人就直接得出了黑球67%,白球占比33%。这个时候,其实这个人使用了最大
系统 2019-09-27 17:49:29 2115
python基础学习笔记(七)2013-04-2400:16虫师阅读(...)评论(...)编辑收藏本章介绍如何将语句组织成函数,这样,可以告诉计算机如何做事。下面编写一小段代码计算婓波那契数列(前两个数的和是第三个数)fibs=[0,1]#定义一个列表,初始内容是0,1foriinrange(8):#循环8次fibs.append(fibs[-2]+fibs[-1])#append在末尾追加一个数,这个是它前面两个数的和#输入>>>fibs#输出[0,1
系统 2019-09-27 17:48:55 2115