在编写计算机程序时,通常能够区分正常和异常(不正常)情况。异常事件可能是错误(如试图除以零),也可能是通常不会发生的事情。Python使用异常对象来表示异常状态,并在遇到错误时引发异常。异常对象未被处理(或捕获)时,程序将终止并显示一条错误消息(traceback)。#试图除以零的报错print(1/0)#Traceback(mostrecentcalllast):#print(1/0)#ZeroDivisionError:divisionbyzero正如
系统 2019-09-27 17:56:38 2076
前言单例模式(SingletonPattern),是一种软件设计模式,是类只能实例化一个对象,目的是便于外界的访问,节约系统资源,如果希望系统中只有一个对象可以访问,就用单例模式,显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。在Python中,我们可以用多种方法来实现单例模式:使用模块使用__new__使用装饰器(decorator)使用元类(metaclass)概念简单说,单例模式(
系统 2019-09-27 17:56:26 2076
一、背景人工智能这几年一直都比较火,笔者一直想去学习一番;因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入些的问题时候就容易卡壳,于是准备从Python入门从头学起;笔者觉得应该有不少人同样熟悉PHP或者Python语言,对另外一个门语言并不是太熟悉,有想法学习另外一门语言,希望通过这篇文章能够对大家有一点帮助。二、知识点最近在完成一个小作业,题目要求:通过Python代码实现,让
系统 2019-09-27 17:56:14 2076
1、概述1.1场景我们在使用Python中的方法method时,经常会看到参数中带有self,但是我们也没对这个参数进行赋值,那么这个参数到底是啥意思呢?2、知识点2.1成员函数(m)和普通方法(f)Python中的"类方法"必须有一个额外的第一个参数名称(名称任意,不过推荐self),而"普通方法"则不需要。m、f、c都是代码自动提示时的左边字母(method、function、class)#-*-coding:utf-8-*-classTest(obj
系统 2019-09-27 17:56:05 2076
1.说一说Redis是什么Redis是一种「Key-Value」的内存型、非关系型数据库,属于NoSQL的一种。Redis的读写速度特别快,特别适合读写频繁的场景。Redis支持主从复制,支持数据持久化。2.知道Redis有哪些常用数据类型吗StringListHashSetZset3.说一下Redis用来做什么利用String,可以很容易实现「计数器」功能。利用List,可以实现「粉丝列表」功能。利用Hash,可以实现「浏览记录」功能。利用Set的并集、
系统 2019-09-27 17:55:50 2076
1、BinarySearch算法简介二分查找,它的时间复杂度是O(logn)。其核心思想有点类似分治思想。即每次都通过跟区间中的中间元素对比,将待查找的区间缩小为一半,直到找到要查找的元素,或者区间被缩小为0。但是二分查找的代码实现比较容易写错。你需要着重掌握它的三个容易出错的地方:循环退出条件、mid的取值,low和high的更新。二分查找虽然性能比较优秀,但应用场景也比较有限。底层必须依赖数组,并且还要求数据是有序的。对于较小规模的数据查找,我们直接使
系统 2019-09-27 17:54:58 2076
生活中,有时候我们需要对一些重要的文件进行加密,Python提供了诸如hashlib,base64等便于使用的加密库。但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而强化自身的编程能力。记得给公众号加个星标,不会错过精彩内容。基础知识在Python中异或操作符为:^,也可以记作XOR。按位异或的意思是:相同值异或为0,不同值异或为1。具体来讲,有四种可能:0^0=0,0^1=1,1^0=1,1^1=0。我们还可总结出规律(A为0或
系统 2019-09-27 17:54:26 2076
jsonJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写。json是我们在制作爬虫时非常常见的网络对象,本文就列举python对于json的基本操作。json函数使用json函数首先要导入json库即importjson主要使用以下两个函数:json.dumps将Python对象编码成JSON字符串json.loads将已编码的JSON字符串解码为Python对象json.dumpsjson.dump
系统 2019-09-27 17:54:25 2076
例子:以百度文库中选择文档的类型为例问题一:遍历点击所有文档类型的单选框#coding=utf-8fromseleniumimportwebdriverfromtimeimportsleepdriver=webdriver.Chrome()driver.maximize_window()driver.get("http://wenku.baidu.com")driver.implicitly_wait(8)foriindriver.find_element
系统 2019-09-27 17:53:47 2076
前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富。所以我们把之前的那个版本定为1.0,而今天修改的版本定为2.0。版本的迭代意味着功能的升级,那今天的2.0版本较之前的1.0版本有哪些改进呢?我们一起来看看!1.0版本实现步骤我们先来回顾一下模拟登录淘宝的步骤吧,我们还是先看看淘宝登录的详细时序图:这是淘宝网登录的一个请求流程,而我们模拟登录也是根据这样的一个流程。但是在代码模拟登录的时候就不会分的这么细,我们根
系统 2019-09-27 17:52:34 2076