建造者模式,也是一种创建新对象的设计方法,和C++中的虚函数很类似,但是用到了python自身的虚基类ABCMeta。1.应用场景:某个类中的函数较多,且实现比较复杂,很多时候需要继承的子类重载或者重新定义逻辑;2.背景基础:由于用到python中虚函数,需要了解abc模块中的ABCMeta和python中类创建对象时的__metaclass__属性含义。一般地,在某个类中如果定义__metaclass__=something时,简单地说是,创建对象时,会
系统 2019-09-27 17:52:24 1736
文件结构html_downloader.py-下载网页html内容#!/usr/bin/python#-*-coding:UTF-8-*-importurllib2classHtmlDownloader(object):defdownlod(self,url):ifurlisNone:returnNoneresponse=urllib2.urlopen(url)ifresponse.getcode()!=200:returnNonereturnrespon
系统 2019-09-27 17:52:08 1736
目录python多线程详解一、线程介绍什么是线程为什么要使用多线程二、线程实现threading模块自定义线程守护线程主线程等待子线程结束多线程共享全局变量互斥锁递归锁信号量(BoundedSemaphore类)事件(Event类)三、GIL(GlobalInterpreterLock)全局解释器锁python多线程详解一、线程介绍什么是线程线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位
系统 2019-09-27 17:51:56 1736
前言知识在于细节,整理很重要。在python中,有3类方法:1)静态方法(staticmethod)2)类方法(classmethod)3)实例方法其中静态方法和类方法是不需要进行实例就可以直接调用,语法格式:类名.方法名具体举个例子说明deffunc(x):print("hello,我是常用方法")classFun:deffunc1(self,x):print("hello,我是类中方法",x,self)@classmethoddeffunc2(cls,
系统 2019-09-27 17:51:55 1736
for我们先来看一下for语句的格式:foriinrange(0,5):print(i)其中range相当于一个迭代器。我们可以这么尝试:print(list(range(0,5)))输出很简单了,就是01234当然了这里的迭代器可以用自己的list比如:cgg=["cgg","cgg1","cgg2"]foriincgg:print(i)输出结果就是三个字符串以此输出。while循环语句当然少不了while了先来看看while的格式:whilecgg<1
系统 2019-09-27 17:51:52 1736
Python爬虫,使用BeautifulSoup可以轻松解析页面结果,下面是使用该方法爬取boss页面的职位信息:包括职位名称、薪资、地点、公司名称、公司融资情况等信息。通过这个示例可以轻松看到BeautifulSoup的使用方法。1、爬取boss直聘的职位信息importrequestsfrombs4importBeautifulSoupfrommiddlewaresimportget_random_proxy,get_random_agentimpor
系统 2019-09-27 17:51:39 1736
python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。withopen('file.txt','r')asold_file:withopen('file.txt','r+')asnew_file:current_line=0#定位到需要删除的行whilecurrent_line<(3-1):#(del_line-1)old_file.readline()current_line+=1#当前光标在被删除
系统 2019-09-27 17:51:18 1736
一、定义函数def函数名():函数体代码例:#定义函数defemail():print('sendemail')#调用执行函数email()二、函数的返回值defemail():print("sendemail")return"发送成功"#没有return,默认返回Noneret=email()#函数return后面是什么值,ret等于返回值print(ret)注意:一旦遇到return,函数内部return以下的代码不再执行。三、函数的普通参数defem
系统 2019-09-27 17:51:12 1736
好书推荐、视频分享,公众号"读书ReadBook"与您一起进步下载地址……1、点击阅读原文或者地址https://ebooklist.mobi/2019/05/20/6465.html2、回复关键字11730直接获取下载链接,好书推荐、视频分享,公众号"读书ReadBook"与您一起进步图书简介……本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了
系统 2019-09-27 17:51:09 1736
漫谈如果作为一个Python入门,不了解Python装饰器也没什么,但是如果作为一个中级Python开发人员,如果再不对python装饰器熟稔于心的话,那么可能并没有量变积累到质变。我以前也看过很多讲python装饰器的文章,但是都是看了就忘。一方面是没有做太多的练习,二是对它的领会不是很深。希望引以为戒!!!郑传装饰模式如果你了解Java,你肯定听过装饰器模式。在面向对象中,装饰模式指:动态地给一个对象添加一些额外的职责。就增加一些功能来说,装饰模式比生
系统 2019-09-27 17:51:05 1736