自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 JavaScript对象模型

文章目录JS对象模型定义类字面式声明方式ES6之前--构造器ES6中的class 类方法重写静态方法this的坑解决this坑的方法有显式传入参数引入apple,call 方法bind方法 (最常用)ES6引入支持this的箭头函数高阶类,高阶类或称Minxin模式JS对象模型JavaScript 是一种基于原型(Prototype)的面向对象语言,而不是基于类的面向对象语言。C++,Ja...

2019-07-13 19:55:17 540

原创 javascript流程控制语句

文章目录语句块流程控制条件分支switch...case分支语句for 循环while 循环和 do...while循环for ... in 循环for...of循环break,continuefor 迭代的差别Symbols类型语句块JS使用大括号构成语句块ES6之前语句块是没有作用域的,从ES6开始支持,let只能在块作用域中可见function hello(){ let a=...

2019-07-02 16:10:25 545

原创 JavaScript函数语法

文章目录函数函数表达式函数,匿名函数,函数表达式的差异高阶函数箭头函数箭头函数的参数箭头函数返回值函数参数可变参数(rest parameters剩余参数)和 arguments对象参数解构函数返回值作用域异常抛出异常捕获异常函数function函数名(参数列表) { 函数体; return 返回值;}function add(x,y){ return x+...

2019-07-02 16:08:29 523

原创 javascript基础语法

文章目录Nodejs安装Nodejs开发环境文档Visual Studio Code注释常量和变量数据类型转义字符字符串操作方法数值型 number运算符比较运算符逻辑运算符位运算三元运算符逗号操作符delete 删除对象,属性,数组in运算符优先级NodejsNodejs是服务器端运行JavaScript的开源、跨平台运行环境。Nodejs原始作者瑞安·达尔(Ryan Dahl),于2...

2019-07-01 16:41:48 260

原创 SQLAlchemy的基本用法

文章目录ORMSQLAlchemy创建连接创建基类创建实例类创建表加载表实例化创建会话sessionGURD 操作,增删改查简单查询改状态删除复杂查询(AND条件,OR条件,NOT条件,IN条件,Like条件),用到了过滤器排序分页 (limit)消费者方法聚合,分组(分组其实就是按字段查询)总结ORMORM,对象关系映射,对象和关系之间的映射,使用面向对象的方式来操作数据库。关系模型和Py...

2019-06-29 22:12:22 2681

原创 pymysql的基本使用方法

文章目录数据库开发驱动pymysql使用安装连接Conncet事务管理pymysql一般流程查询带列名查询SQL注入攻击批量执行executemany()上下文支持数据库开发驱动MySQL基于TCP协议之上开发,但是网络连接后,传输的数据必须遵循MySQL的协议。封装好MySQL协议的包,就是驱动程序。MySQL的驱动MySQLdb 最有名的库。对MySQL的C Client封装实现...

2019-06-27 19:22:11 1662

原创 Python网络编程基础

文章目录网络编程Socket 介绍TCP编程TCP服务端编程应用socket 的常用方法MakeFile网络编程Socket 介绍Socket套接字python 中提供了socket.py标准库,非常底层的接口Socket是一种通用的网络编程接口,和网络层次没有一一对应的关系协议族AF表示Address Family,用于socket()第一个参数名称含义AF_...

2019-06-15 21:51:32 378

原创 Python中logging模块

文章目录logging模块日志级别格式字符串python 格式化构建消息修改日期格式输出到文件logger 类构造层次结构level级别的设置日志流logging模块日志级别日志级别Level数值CRITICAL50ERROR40WARNING30,默认级别INFO20DEBUG10NOTSET0日志级别指的是生产日志的事件...

2019-06-15 21:46:58 158

原创 网络传输

文章目录什么是网络什么是计算机网络带宽拓扑总线型环形结构星形拓扑数据传输通讯的三种模式局域网LAN网络设备传输层协议IP地址路由Routing什么是网络网络是有节点和连线构成的图,表示诸多对象及其关系什么是计算机网络计算机网络指的是将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信路物理连接(包括有线,无线连接),并在网络操作系统,网络管理软件和网络通信协议的管理和协调下,实现...

2019-06-15 10:37:52 618

原创 python多进程

文章目录多进程multiprocessing进程间同步进程池多进程,多线程的选择多进程由于Python的GIL全局解释器锁的存在,多线程未必是CPU密集型程序的最好的选择多进程可以完全独立的进程环境中运行程序,可以较充分地利用多处理器。但是进程本身的隔离带来的数据不共享也是一个问题。而且线程比进程轻量级。multiprocessingprocess 类在multiprocessing模...

2019-06-11 10:58:54 179

原创 python的全局锁

Queue模块提供FIFO的Queue,LIFO的队列,优先队列,虽然Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition,虽然Queue类的size加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分开的,在一个线程在读取或者操作时,可能会被其他线程抢占了资源.GIL全局解释器锁CPython 在解释器进程...

2019-06-08 15:38:45 4924

原创 Python多线程同步编程

文章目录概念Event定时器 Timer/延迟执行Lock加锁,解锁锁的应用场景可重入锁Conditionsemaphore 信号量BoundedSemaphore类链接池信号量和锁概念线程同步,线程间协同,通过某种技术,让一个线程访问某些数据时,其他线程不能访问这些数据,直到该线程完成对数据的操作EventEvent事件,是线程间通信机制中最简单的实现,使用一个内部的标记flag,通过f...

2019-06-08 15:34:41 396

原创 Python并发编程

并发并发和并行的区别并行:同时做某些事,可以互不干扰的同一个时刻做几件事(处理事情的能力)并发:也是同时做某些事,但是强调,一个时段内有事情要处理(需要处理的事情)并发的解决队列,缓冲区:先进先出,解决了资源使用的问题。排成的队列,其实就是一个缓冲地带,就是缓冲区争抢:争抢也是一种高并发解决方案,但是,这样可能不好,因为有可能有些程序很长时间抢不到资源,(谁抢到资源就上锁,排他性...

2019-06-04 12:23:48 506

原创 Python插件化编程

文章目录插件化开发动态导入内建函数__import __() 动态导入importlib.import_module() 动态导入插件化编程技术依赖的技术插件化开发动态导入运行时,根据用户需求(提供字符串),找到模块的资源动态加载起来内建函数__import __() 动态导入__import __(name, globals=None, locals=None, fromlist=(...

2019-06-01 21:32:01 651

原创 Python模块化

文章目录模块化导入语句自定义模块自定义模块命名规范模块搜索顺序模块重复导入模块运行if __name__ == '__main__':用途模块的属性包字模块绝对导入和相对导入绝对导入相对导入from...import *和__all __使用from ... import * 导入使用__all __模块化一般来说,编程语言中,库、包、模块是同一种概念,是代码组织方式模块module,指的...

2019-06-01 19:00:59 1263

原创 python的魔术方法之反射

文章目录反射反射反射相关的魔术方法反射反射反射,reflection: 指的是运行时获取类型定义信息。在Python中,能够通过一个对象,找出其type、class、attribute或method的能力,称为反射或者自省。具有反射能力的函数有 type()、isinstance()、callable()、dir()、getattr()等反射相关的函数和方法-如下,查看实例的属性,...

2019-05-26 14:06:42 147

原创 python的魔术方法之上下文管理

文章目录上下文管理实现类做装饰器和上下文管理增强功能上下文管理当一个对象同时实现了__enter__()和__exit__()方法,它就属于上下文管理的对象方法意义__enter __进入与此对象相关的上下文。如果存在该方法,with语法会把该方法的返回值作为绑定到as子句中指定的变量上__exit __退出与此对象相关的上下文。import time...

2019-05-26 13:12:37 130

原创 pytho的魔术方法之属性

文章目录特殊属性查看属性魔术方法实例化可视化hash运算符容器相关方法可调用对象特殊属性属性说明__name __类、函数、方法等的名字__module __类定义所在的模块名__class __对象或类所属的类__bases __类的基类的元组,顺序为它们在基类列表中出现的顺序__doc __类、函数的文档字符串,如果没有定义则为 Non...

2019-05-23 17:33:28 253

原创 python中的异常处理

异常的捕获try: 待捕获异常的代码块except [异常类型]:异常的处理代码块例如def foo(): try: print("before") a = 1/0 print("after") except: #未指定异常类型 print("error...

2019-05-21 16:48:54 140

原创 类的多继承和Mixin

类的继承定义:继承格式如下class 子类名(基类1[,基类2,...]): 语句块如果类定义时,没有基类列表,等同于继承自object。在Python3中,object类是所有对象的根基类查看继承的特殊属性和方法有 (与实例没有关系,指的是类与类的关系)特殊属性和方法含义示例base类的基类(父类)bases类的基类元组(父类元组)...

2019-05-21 11:45:47 338

原创 函数参数注解

函数定义的弊端Python是动态语言,变量随时可以被赋值,且能赋值为不同的类型Python不是静态编译型语言,变量类型是在运行期决定的动态语言很灵活,但是这种特性也是弊端def add(x, y): return x + yprint(add(4, 5))print(add('hello', 'world'))add(4, 'hello') 难发现:由于不做任何类型检查...

2019-05-19 17:09:01 987

原创 面向对象之方法调用和属性访问属性装饰器

类的定义: class 类名称 ():class ClassName: 语句块类对象及类属性class MyClass: # 定义类 """axf""" #类注解 也是属性 x = """xabc""" #类属性 def fo(self): #类方法 类方法也属于类属性...

2019-05-18 15:30:31 552

原创 python正则表达式基础(一)

正则表达式概述正则表达式,Regular Expression,缩写为regex、regexp、RE等参考 https://www.w3cschool.cn/regex_rmjc/分类BRE:基本正则表达式,grep、sed、vi等软件支持。vim有扩展。ERE:扩展正则表达式,egrep(grep -E)、sed -r等。PCRE:几乎所有高级语言都是PC...

2019-05-08 14:40:26 242

转载 二进制,八进制,十进制,十六进制相互转换

参考自:http://www.cnblogs.com/zhy128/p/8278577.htmlPython中实现的进制间的转换在python中可以使用Python的内置函数进行进制间的转换。bin():其他进制转二进制oct():其他进制转八进制int():其他进制转十进制hex():其他进制转十六进制二进制、八进制、十六进制的形式二进制:以“0b”开头,如:0...

2019-05-05 19:57:48 1115

原创 python序列化和反序列化

定义serialization 序列化将内存中对象存储下来,把它变成一个个字节。-> 二进制deserialization 反序列化,将文件的一个个字节恢复成内存中对象。<- 二进制序列化保存到文件就是持久化。可以将数据序列化后持久化,或者网络传输;也可以将从文件中或者网络接收到的字节序列反序列化.pickel库Python中的序列化、反序列化模块函数...

2019-05-05 15:19:44 150

原创 csv文件和ini文件操作

csv文件csv文件简介参看 RFC 4180http://www.ietf.org/rfc/rfc4180.txt逗号分隔值Comma-Separated Values。CSV 是一个被行分隔符、列分隔符划分成行和列的文本文件,CSV 不指定字符编码。行分隔符为\r\n,最后一行可以没有换行符列分隔符常为逗号或者制表符。每一行称为一条记录record字段可以使用双引号括起来,...

2019-05-02 18:21:07 383

原创 上下文操作

文件操作CPU由运算器和控制器组成运算器,完成各种算数运算、逻辑运算、数据传输等数据加工处理控制器,控制计算机各部件协调运行存储器,用于记忆程序和数据,例如内存输入设备,将数据或者程序输入到计算机中,例如键盘、鼠标输出设备,将数据或程序的处理结果展示给用户,例如显示器、打印机等一般说IO操作,指的是文件IO,如果指的是网络IO,都会直接说网络IOcolumncol...

2019-05-01 12:05:21 194

原创 文件的复制和移动

shutil模块文件拷贝:使用打开2个文件对象,源文件读取内容,写入目标文件中来完成拷贝过程。但是这样丢失stat数据信息(权限等),因为根本没有复制这些信息过去。copycopyfileobj(fsrc,fdst[,length])文件对象的复制,fsrc和fdst是open打开的文件对象,复制内容。fdst要求可写。length 指定了表示buffer的大小;import s...

2019-04-30 16:20:04 391

原创 路径操作

1, os.path模块 :from os import path路径操作的基本语法from os import pathp1=Path('D:\download\work')p = path.join('/a', 'sysconfig', 'abs','network') #拼接print(path.exists(p1)) # 判断路径是否存在print(p...

2019-04-30 13:11:21 162

原创 用python实现一个缓存,记录函数运行多长时间和缓存过期代码

from functools import wrapsimport time,inspectdef cached(fn): local_cache = {} # 建立缓存字典 @wraps(fn) def wrapper(*args, **kwargs): sig = inspect.signature(fn) params...

2019-04-27 22:11:04 979

原创 python函数传参时的参数类型判断

import functools, inspectdef looger(fn): def wrapper(*args,**kwargs): sig = inspect.signature(fn) params = sig.parameters # parames 是形参 是一个元素为二元结构的有序字典,OrderedDict([('x...

2019-04-27 13:11:15 3797 1

原创 python字典

字典dictkey-value键值对的数据的集合可变的、无序的、key不重复,key可hash字典dict定义初始化d = dict() 或者d = {}dict(**kwargs)使用name=value对初始化一个字典(函数参数关键字可构造字典) d = dict(a=1,b=2) -------------------------------------{'a': 1...

2019-04-26 22:01:49 107

原创 简单的装饰器进阶

创建一个装饰器,要求打印元数据的DOC和NAME属性import datetime,timedef loog(fn): def wrapper(*args,**kwargs): print("{} program start".format(fn.__name__)) start = datetime.datetime.now() cc...

2019-04-21 20:52:27 81

原创 高阶函数

高阶函数函数函数也是对象,是可以调用的对象函数可以作为普通变量,也可以做为函数的参数,返回值高阶函数高阶函数至少满足两个条件接受一个或者多个函数作为参数输出一个函数自定义一个函数:如下def sort(iterable,* , key=None,reverse=False): newlist = [] for x in iterable: ...

2019-04-21 19:04:22 97

原创 函数装饰器

python装饰器装饰器需求一个加法函数,想增强它的功能,能够输出被调用过以及调用的参数信息def add(x, y): return x + y下面增加信息输出功能def add(x, y): print("call add, x + y") # 日志输出到控制台 return x + y上面的加法函数是完成了需求,但是有以下的缺点打印...

2019-04-21 19:01:55 342

原创 内建函数

高阶函数函数函数也是对象,是可以调用的对象函数可以作为普通变量,也可以做为函数的参数,返回值高阶函数高阶函数至少满足两个条件接受一个或者多个函数作为参数输出一个函数自定义一个函数:如下def sort(iterable,* , key=None,reverse=False): newlist = [] for x in iterable: ...

2019-04-21 11:51:11 169

原创 函数生成器

生成器生成器 generator生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象生成器对象,是一个可迭代对象,是一个迭代器生成器对象,是延迟计算、惰性求值的生成器函数函数体中包含 yield语句的函数,就是生成器函数,调用后返回生成器对象普通函数调用,函数会立即执行直到执行完毕,生成器函...

2019-04-18 13:30:04 5505

原创 树的基本概念

树非线性结构树是n(n≥0)个元素的集合n = 0 时,称为空树树只有一个特殊的没有前驱的元素,称为树的根Root树中除了根结点外,其余元素只能有一个前驱,可以有零个或多个后继递归定义树T是n(n≥0)个元素的集合。n=0 时,称为空树有且只有一个特殊元素根,剩余元素都可以被划分为m个互不相交的集合T1、T2、T3、…、Tm,而每一个集合都是树,称为T的子树Subtree...

2019-04-18 12:08:02 212

原创 递归函数

递归函数递归 Recursion函数直接或者间接调用自身就是递归递归需要有边界条件、递归前进段、递归返回段递归一定要有边界条件当边界条件不满足的时候,递归前进当边界条件满足的时候,递归返回斐波那契数列Fibonacci number:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …如果设F(n)为该数列的第n项(n...

2019-04-15 22:10:17 135

原创 匿名函数

匿名函数匿名:隐藏名字,即没有名称匿名函数:没有名字的函数。Lambda表达式Python中,使用Lambda表达式构建匿名函数。lambda x: x ** 2 # 定义(lambda x: x ** 2)(4) # 调用 foo = lambda x,y: (x+y) ** 2 # 定义函数,不推荐,不如直接定义函数foo(1, 2)# 等价于def foo(x,...

2019-04-15 22:08:30 152

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除