3.4.5断言断言(assertions)的使用方式类似于if语句,只是在不满足条件时,会直接抛出异常。类似于下面的if语句(伪代码)ifnotcondition:#如果不满足条件,会直接抛出异常,程序会中断crashprogram那么究竟为什么需要这样的代码呢?主要原因为需要检测程序在某个地方是否满足条件,如果不满足条件,应该及时通知开发人员,而不是将这些bug隐藏起来,知道关键的时候在崩溃。其实在TDD中经常使用断言,TDD会在程序发现异常时执行断言,
系统 2019-09-27 17:52:20 1900
全民学python的热潮已经开启,然而,对于这种情况,还是有很多小伙伴私信我python到底该怎么入门?没接触过编程能学会吗?现在网上学习资料一搜一大把,正因为资料多了导致我们不知道如何是好!一个朋友问我:有个朋友要学习python,她属于那种特别能啃书的,让我推荐。我学python都是无师自通的,没有看过什么书,因此无法给她推荐,问我有什么意见?他那个朋友是零基础的,ctrl+c、ctrl+v用的贼溜。除此之外,计算机算是零基础了。对此我就感觉有点头疼了
系统 2019-09-27 17:51:19 1900
Python:1.print()函数:打印字符串2.raw_input()函数:从用户键盘捕获字符3.len()函数:计算字符长度4.format(12.3654,'6.2f'/'0.3%')函数:实现格式化输出5.type()函数:查询对象的类型6.int()函数、float()函数、str()函数等:类型的转化函数7.id()函数:获取对象的内存地址8.help()函数:Python的帮助函数9.s.islower()函数:判断字符小写10.s.spp
系统 2019-09-27 17:50:54 1900
Python中定义函数有两种方法,一种是用常规方式def定义,函数要指定名字,第二种是用lambda定义,不需要指定名字,称为Lambda函数。Lambda函数又称匿名函数,匿名函数就是没有名字的函数,函数没有名字也行?当然可以啦。有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可。好比电影里面的群众演员,往往他们的戏份很少,最多是衬托主演,跑跑龙套,他们需要名字吗?不需要,因为他们仅仅只是临时出镜,下次可能就用不着了,所以犯
系统 2019-09-27 17:50:41 1900
转:https://www.jianshu.com/p/4be85de84d2a本机环境:Windows1064位Anacondapython3.7报错信息:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.解决方法:原因:Anaconda环境变量未配置完全需要配置的环境变量:D:\ProgramData\Anaconda3D:\
系统 2019-09-27 17:50:37 1900
生成器就是自己用python代码写的迭代器,生成器的本质就是迭代器。通过以下两种方式构建一个生成器:1、通过生成器函数2、生成器表达式生成器函数:函数deffunc1(x):x+=1returnxprint(func1(5))生成器函数deffunc1(x):x+=1yieldxg_obj=func1(5)print(g_obj.__next__())一个next对应一个yield。yieldVSreturnreturn结束函数,给函数的执行者返回值yie
系统 2019-09-27 17:50:36 1900
描述exp()方法返回x的指数,ex。语法以下是exp()方法的语法:importmathmath.exp(x)注意:exp()是不能直接访问的,需要导入math模块,通过静态对象调用该方法。参数x--数值表达式。返回值返回x的指数,ex。实例以下展示了使用exp()方法的实例:#!/usr/bin/python3importmath#导入math模块print("math.exp(-45.17):",math.exp(-45.17))print("mat
系统 2019-09-27 17:49:51 1900
一般来说,选择用于应用程序的GUI工具箱会是一件棘手的事。使用Python(许多语言也一样)的程序员可以选择的GUI工具箱种类繁多,而每个工具箱都有各自的优缺点。有些速度比其它工具箱快,有些比较小;有些易于安装,有些更适合于跨平台使用(对于这一点,还要指出,有些支持您需要满足的特定特性)。当然,各种库都相应具有各种许可证。对于Python程序员而言,缺省的GUI选择是Tk(通过Tkinter绑定)―其原因显而易见。Tkinter和闲置的IDE是由Pytho
系统 2019-09-27 17:49:34 1900
常见的排序算法:冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序,归并排序。冒泡排序原理:两两元素进行比较,每一趟能够确定最大元素的位置,稳定算法defbubble_sort(alist):'''冒泡排序'''#[5,4,3,2,1][4,5,3,2,1][4,3,5,2,1][4,3,2,5,1][4,3,2,1,5]n=len(alist)foriinrange(n):#count=0forjinrange(0,n-1):ifalist[j]>
系统 2019-09-27 17:49:28 1900
*args和**kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数args:deffun(n,*args):print(n)print(args)#未拆包print(*args)#进行拆包fun(1,2,3,4)结果:1(2,3,4)234形参中的*args是接受数据的args,它是一个元组,把传入的数据放进args元组中。函数中的args仍然是元组,*args就
系统 2019-09-27 17:48:57 1900