编程技术

门面(Facade)模式

外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。一,结构:门面(Facade)角色:客户端可以调用这个角色的方法。此角色知晓相关的(一个或者多个)子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。子系统(subsystem)角色:可以同时有一

系统 2019-08-12 09:29:46 2182

Python

python字符串中的单双引

python中字符串可以(且仅可以)使用成对的单引号、双引号、三个双引号(文档字符串)包围:'thisisabook'"thisisabook""""thisisabook"""可在单引号包围的字符串中包含双引号,三引号等,但不能包含单引号自身(需转义)'thisisa"book''thisisa""book''thisisa"""book''thisisa\'book'也可多单引号中的双引号转义,但通常没什么必要和意义'thisisa\"book'同理,

系统 2019-09-27 17:56:37 2181

Python

使用Python发送企业微信消息

准备工作:到企业微信官网,注册一个企业;登录企业微信后台,创建一个“自建”应用,获取企业ID、agentid、secret这3个必要的参数;在企业微信的通讯录中,创建多个测试账号;在手机端安装“企业微信”APP,使用测试账号登录到企业微信,准备接收消息。程序代码:企业微信提供API开发接口,通过HTTPS的GET、POST方法与企业微信后台进行交互,完成获取令牌、发送数据、获取数据的操作。Python代码主要使用requests库,将企业微信API进行简单

系统 2019-09-27 17:56:30 2181

Python

Python之数据序列化(json、pickle、shelve)详解

什么是序列化什么是序列化,把程序中的对象或者变量,从内存中转换为可存储或可传输的过程称为序列化。在Python中,这个过程称为pickling,在其他语言中也被称为serialization,marshalling,flattening等。程序中的对象(或者变量)在序列化之后,就可以直接存放到存储设备上,或者直接发送到网络上进行传输。序列化的逆向过程,即为反序列化(unpickling),就是把序列化的对象(或者变量)重新读到内存中~Python中序列化的

系统 2019-09-27 17:56:23 2181

Python

Python datetime模块详解

作者:cmzsteven出处:https://blog.csdn.net/cmzsteven/article/details/64906245一、datetime模块介绍(一)、datetime模块中包含如下类:(二)、datetime模块中包含的常量二、date类(一)、date对象构成1、date对象由year年份、month月份及day日期三部分构成:date(year,month,day)12、通过year,month,day三个数据描述符可以进行

系统 2019-09-27 17:55:29 2181

Python

进阶教程:用Python建立全新二层神经结构

全文共5234字,预计学习时长10分钟图片来源:unsplash.com/@alinnnaaaa本文将介绍如何建立进阶神经网络。输入数据本教程唯一使用的数据库为NumPy。激活函数在隐藏层中会使用tanh激活函数,而在输出层中则会使用sigmod函数。在两种函数的图中都很容易找到信息。下面直接执行函数。以上为Sigmoid函数。以下为该函数代码:设定参数什么是参数和超参数?参数指权值和偏差。超参数会影响参数,并设置在学习过程开始之前。准确无误设置超参数并不

系统 2019-09-27 17:54:41 2181

Python

python输出json格式log,方便LogStash收集

为了配合LogStash日志收集服务,需要将线上服务的日志输出改为json格式。python日志标准库中并没有json格式的formatter,网上虽然已经有一些json相关的formatter,但不是很满意,就自己开发了一个并放到了github和pypi,目前仅支持Python3,能够很方便的解决自定义名映射属性问题,也支持新增自定义属性。欢迎到我的github点星星、提问题:https://github.com/MyColorfulDays/jsonf

系统 2019-09-27 17:53:20 2181

Python

Python内置高阶函数sort()与sorted()

一、内置函数sort()原型:sort(fun,key,reverse=False)参数:1、参数fun是表明此sort函数是基于何种算法进行排序的,一般默认情况下python中用的是归并排序,并且一般情况下我们是不会重写此参数的,所以基本可以忽略;2、参数key用来指定一个函数,此函数在每次元素比较时被调用,此函数代表排序的规则,也就是你按照什么规则对你的序列进行排序;3、参数reverse是用来表明是否逆序,默认的False情况下是按照升序的规则进行排

系统 2019-09-27 17:52:44 2181

Python

Python基础之循环for、while

forwhile选择使用哪种循环技巧:不知道循环多少次的用while,知道循环多少次的用for能用for不用whileforiin"abc":print(i)第一次:取a存到i里面,然后执行for的代码块第二次:取b存到i里面,然后执行for的代码块第三次:取c存到i里面,然后执行for的代码块foriinrange(5):print(i)ifi==3:continueelse:print(“nobreak”)总结:只要循环体内部没有执行break就会执行

系统 2019-09-27 17:52:37 2181

Python

python爬虫练习,爬取数据写入MySQL数据库

本次爬取内容就选取章节名和章节链接作为举例url:http://www.xbiquge.la/0/215/数据库操作的基本方法:1):连接数据库2):获取数据库游标3):执行sql语句4):断开数据库连接#连接数据库,参数包括IP、用户名、密码、对应的库名connect=pymysql.connect('localhost','root','gui2019','python')#数据库游标course=connect.cursor()#插入语句sql="I

系统 2019-09-27 17:51:57 2181

Python

python接入片云网短信验证--单条发送

python接入片云网短信验证申请自己的签名和模板签名和模板审核失败,就联系客服,客服会帮你通过在你的系统设置里面IP白名单,填写你的服务器ip这个ip直接取浏览器搜索ip查看接入python的相关代码importrequestsimportjsonclassYunPian(object):def__init__(self,api_key):self.api_key=api_keyself.single_send_url="https://sms.yunp

系统 2019-09-27 17:51:19 2181

Python

python函数的高级用法

一、引用传递引用传递,实质是在传递内存地址二、函数默认值1、默认值参数在python中可以为函数的参数给予默认值,一旦某个存在默认值,那么如果在调用的时候,不传递这个参数,则按照默认值注意:在定义函数时,如果存在有默认值的参数,一定要写在没有默认值的参数后面,否则在调用时,无法确定参数到底传给哪个参数,程序就会报错。三、全局变量和局部变量1、全局变量就是定义在py文件中,能被任何函数、类能够正常访问的变量。2、局部变量定义在函数内部的变量,叫做局部变量注意

系统 2019-09-27 17:50:00 2181

Python

Python web框架:flask模板语法

1、模板的使用Flask使用的是Jinja2模板,所以其语法和Django无太大差别Flask中模板里面,执行函数时,需要带()才执行1.为了防止xss攻击,加了验证,所以页面上显示字符串的形式,解决办法,有两种方法方法一:在后端使用Markup,等价于Django里的mark_safev=Markup("")方法二:在前端使用safe{{v1|safe}}2.静态文件的两种导入方式目录结构:在这里插入图片描述方式一:在这里插入图片描述方式二:在这里插入图

系统 2019-09-27 17:49:29 2181

Python

Python字符串常见的操作方法

下标索引a='123456'#注意下标从0开始print(a[0])#输出结果为1切片操作a='123456'#注意切片是左闭右开print(a[0:6:2])【起始值:结束值:步长】#输出结果为1351.find()检测str是否包含在mystr中如果是返回开始的索引值否则返回-1str='a'mystr='小马是最棒的a'mystr1='小马是最最棒的'print(mystr.find(str))#可选参数startend指明查找的区间默认整个字符串#

系统 2019-09-27 17:49:20 2181

Python

【Python3爬虫】快就完事了--使用Celery加速你的爬虫

一、写在前面在上一篇博客中提到过对于网络爬虫这种包含大量网络请求的任务,是可以用Celery来做到加速爬取的,那么,这一篇博客就要具体说一下怎么用Celery来对我们的爬虫进行一个加速!二、知识补充1.classcelery.groupgroup这个类表示创建一组要并行执行的任务,不过一组任务是懒惰的,所以你需要运行并对其进行评估。要了解这个类,可以查看文档,或者在Pycharm中直接Ctrl+左键就能直接查看源码了,如下图:当然了,直接看源码还不够,最好

系统 2019-09-27 17:48:01 2181