自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 将博客搬至CSDN

为方便阅读,近期将博客搬迁至CSDN,博客园与CSDN同步更新

2019-08-01 11:37:00 124

原创 类的讲义

类和对象傻傻分不清?找不到“对象”迷迷糊糊? 本讲义适用于初学者,对类理解不了的,主要使用白话的方式讲解类,高手自行略过 本文主要用三个例子说明什么是类,和类的继承特性,理论知识请参考视频,本文不做过多说明 发挥想象力,发挥想象力,发挥想象力(重要的事说三遍) 什么是类? 类是一个抽象的概念,需要大伙发挥抽象思维,在世间万物中,你把一个事物抽象出来,这就是...

2018-08-31 12:00:00 128

原创 Anaconda教程

python虚拟环境 当安装新的外部python包时,为了保证原版python的纯净,避免其他项目调试时出现错误,可使用Anaconda创建虚拟python进行调试和操作 创建新的虚拟环境(Windows的CMD下) conda create -n new_env_name python=3.6创建一个名为new_env_name的虚拟环境,只包含python3.6 ...

2018-01-17 02:53:00 237

原创 css基础

对于元素的样式可以在标签中直接设置,也可以用css进行设置 在标签的style属性进行设置 例: <div style="background-color:#245a2;height:48px"></div> CSS选择器详细参考文档 id选择器(#id) <!--写在head标签内--&...

2018-01-17 02:50:00 89

原创 javascript

JavaScript 参考博客 JavaScript代码的存在形式 HTML文件中 <script type="text/javascript"> //JavaScript代码 </script> js文件中,在HTML中引入(可使用远程js文件路径) <script src="*.js路径"></script...

2018-01-17 02:50:00 116

原创 HTML基础

<!DOCTYPE html> 说明使用的web页面标准和规范 head标签 1.<head></head>标签为html的头部,内部编写一些基本信息(主动闭合标签) 2.title标签=>标题 3.字符编码<meta chartset="UTF-8" />(自闭合标签) 4.刷新和跳转 <me...

2018-01-17 02:49:00 75

原创 Vbox安装CentOS7及网络配置

安装CentOS7及网络配置 Vbox和其他虚拟机一样,安装完成一个虚拟机,需要配置网络才能实现物理主机和虚拟机之间的访问、虚拟主机和Internet(外网)的访问 1、设置Vbox全局网络 单击主界面管理=》全局设定=>网络 首次安装Vbox会自动添加一块虚拟网卡(host-only),如下图: 记下网卡地址192.168.56.1,设置DHCP服务器为不启用 点击NAT网络标签...

2018-01-17 01:14:00 396

原创 CentOS7安装RabbitMQ

1、安装erlang rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm yum install erlang 2、安装rabbitMQ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3...

2017-09-10 01:21:00 211

原创 CentOS7安装Redis

1、执行安装命令 yum update #安装包前先更新 yum install redis #安装redis 2、启动服务 redis-server 开放端口:firewall-cmd --zone=public --add-port=6379/tcp --permanent 3、修改配置 vi /etc/redis.conf 注释掉bind 127.0....

2017-09-10 01:21:00 71

原创 ubuntu14.04安装rabbitmq

ubuntu14.04安装rabbitmq及配置 1、修改/etc/apt/sources.list文件 命令:vi /etc/apt/sources.list 在最后一行加上:deb http://www.rabbitmq.com/debian/ testing main 2、加rabbitmq的公钥为可信 命令:wget https://www.rabbitmq.c...

2017-09-10 01:20:00 244

原创 MarkDown和流程图诠释你的代码

写在前面:首先感谢导师-猴哥对我的认可(求多分享点编程经验、工具、多开课),学习编程是一个痛苦和快乐的过程,希望大家共勉 本文介绍MarkDown的基本语法、使用MarkDown画简单的流程图、使用Xmind画复杂的流程图 MarkDown介绍 互联网时代,大家都开始将笔记记录在云端,你是否在记录笔记的时候还在选中=》调整格式=》调整段落 好吧,你OUT了,MarkDown是一...

2017-09-05 18:16:00 231

原创 git使用笔记

在Windows上安装Git 实话实说,Windows是最烂的开发平台,如果不是开发Windows游戏或者在IE里调试页面,一般不推荐用Windows。不过,既然已经上了微软的贼船,也是有办法安装Git的。 Windows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境,Git也一样。Cygwin的安装和配置都比较复杂,就不建议你折腾了。不过,有高人已经把模拟环境和Gi...

2017-09-05 16:08:00 86

原创 RabbitMQ双向发送(接收端有返回RPC模式)

remote procedure call 服务端 import pika import time connection = pika.BlockingConnection(pika.ConnectionParameters( host='localhost')) channel = connection.channel() channel.queue_declare(qu...

2017-09-05 10:06:00 1092

原创 RabbitMQ基本用法、消息分发模式、消息持久化、广播模式

RabbitMQ基本用法 进程queue用于同一父进程创建的子进程间的通信 而RabbitMQ可以在不同父进程间通信(例如在word和QQ间通信) 示例代码 生产端(发送) import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) #相当于建立一个socket,连接本...

2017-09-05 10:05:00 387

原创 多路复用select poll epoll

I/O 多路复用之select、poll、epoll详解 select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I...

2017-09-05 09:53:00 95

原创 阻塞IO, 非阻塞IO, 同步IO,异步IO

阻塞IO, 非阻塞IO, 同步IO,异步IO 介绍 先说明几个概念 用户空间与内核空间 为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间(内存)划分为两部分,一部分为内核空间,一部分为用户空间。 针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(...

2017-09-05 09:52:00 110

原创 进程、多进程、进程间数据交互、进程同步、进程池

多进程 启用多进程,可以解决python调用计算机CPU多核运算的问题 启动一个进程 import multiprocessing import time def run(name): time.sleep(2) print('hello',name) for i in range(10): p = multiprocessing.Process(target=ru...

2017-09-05 09:51:00 133

原创 线程队列queue

队列queue 队列用于线程之间安全的信息交换 队列和列表的区别:队列里的信息get()后就没了,而列表获取数据则是copy,原列表里的值还在 使用前先实例化队列 q = queue.Queue(maxsize=0)#先入先出,默认队列大小无限制 q = queue.LifoQueue(maxsize=0)#后入先出 q = queue.PriorityQueue(maxsize=0)#存...

2017-09-05 09:50:00 186

原创 线程Event事件

事件(event) 事件是不同线程之间的同步对象 enent可以通过设置、等待、清除一个标识(flag),来进行线程间的控制 线程可以通过获取这个标志位(flag)的状态(设置或未设置)来控制线程 事件其实就相当于一个全局变量(设置为True,未设置为False),线程通过这个全局变量的状态来控制自身 event只要set,clear,wait三个方法 使用前先实例化event = thre...

2017-09-05 09:48:00 104

原创 进程和线程

线程参考文档 线程是操作系统能够进行运算调度的最小单位,它被包含在进程中,是进程中的实际运作单位 一个进程实际上可以由多个线程的执行单元组成。每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。 由于在实际的网络服务器中对并行的需求,线程成为越来越重要的编程模型,因为多线程之间比多进程之间更容易共享数据,同时线程一般比进程更高效 线程是操作系统能够进行运算调度的最小单位。它被包含在进程...

2017-09-05 09:47:00 106

原创 python网络编程-paramiko模块

paramiko模块 该模块基于SSH用于连接远程服务器并执行相关操作 参考文档 SSHClient 用于连接远程服务器并执行命令 import paramiko #创建SSH对象 ssh = paramiko.SSHClient() #允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolic...

2017-09-05 09:46:00 149

原创 python网络编程-socket

socket socket是把TCP/IP UDP做一个封装,send,recv... 网络协议基于socket,进行收发等动作 服务端 声明实例 server = socket.socket(AF.INET,sock.SOCK_STREAM) family address 地址簇 AF.INET IPV4(默认) AF.INET6 IPV6 AF.UNIT local 类型 s...

2017-09-05 09:44:00 66

原创 python网络编程-socketserver模块

使用socketserver 老规矩,先引入import socketserver 必须创建一个类,且继承socketserver.BaseRequestHandler 这个类中必须重写handle(self)函数负责和客户端进行交互,所以的交互都写这里面 可以重写的方法 #socketserver.BaseRequestHandler 类 def setup(self):#请求进来之...

2017-09-05 09:44:00 179

原创 python异常处理、断言

异常处理基本语法 捕获异常 try: 语句1 语句2 ... except ERRNAME as e: print(e) #尝试执行语句,捕获到ERRNAME异常时打印异常信息e 捕获多个异常 try: 语句1 语句2 ... except (err1,err2...) as e: print(e) #尝试执行语句,捕获到异常...

2017-09-05 09:43:00 147

原创 python类和对象

面向对象 Object Oriented Programing 类的特性 封装 1、防止数据被随意修改 2、使外部程序不需要灌注对象内部的构造,只需要通过此对象对外提供的接口进行直接访问即可 继承 1、类可以派生出子类 2、父类里定义的属性、方法自动被子类继承 3、通过父类=>子类的方式以最小代码量的方式实现 不同角色的共同点和不同点同时存在 多态 一个接口,多种实现;父类派生出不同的子...

2017-09-05 09:40:00 79

原创 动态导入模块

#使用内置函数__import__ lib = __import__('lib.aa')#获取模块,实际上是导入lib obj = lib.aa.C()#调用模块内函数 print(obj.name) #官方建议使用此方式 import importlib aa = importlib.import_module('lib.aa')#获取模块,直接是引入的lib.aa pri...

2017-09-05 09:39:00 46

原创 time和datetime模块

在Python中,通常有这几种方式来表示时间: 1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。 由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回...

2017-09-05 09:36:00 74

原创 python内置模块

subprocess模块是对 os.system os.spawn* 以上这两个的替换,以后尽量使用subprocess,这两个会逐步淘汰 os.system 输出命令结果到屏幕,返回命令执行状态(0成功) os.popen("dir") 保存命令执行结果,无执行状态 os.popen("dir").read()读取命令结果 subprocess subprocess.run('命令'...

2017-09-05 09:27:00 247

原创 内置方法

all() 可迭代对象内有一个为False则返回False 例: print(all([0,-1,5]) False print(all([1,-1,5]) True any() 可迭代对象有一个为真则返回True print(any((1,0,0,0,0))) True ascii() 把数据对象变为可打印的形式(str) ...

2017-09-05 09:17:00 58

原创 生成器

列表生成式 [i*2 for i in range(10)] [func(i) for i in range(10)] #作用:使代码更简洁 生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费...

2017-09-05 09:15:00 60

原创 装饰器

装饰器 定义:本质是函数,装饰其他函数(就是为其他函数添加附加功能) 原则: 1、不能修改被装饰的函数源代码 2、不能修改被装饰函数的调用方式 实现装饰器知识储备: 1、函数即“变量” 2、高阶函数(以下任意一条就是高阶函数) a、把一个函数名当做实参传给另外一个函数 b、返回值中包含函数名 3、嵌套函数 高阶函数+嵌套函数=》装饰器 装饰器一般...

2017-09-05 09:14:00 61

原创 模块详解及import本质

一、模块的定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test) 包:用来从逻辑上组织模块的,本质是一个目录(必须带有一个__init__.py文件) 二、模块的导入 import module_name import module1_name,module2_name ...

2017-09-05 09:13:00 118

原创 函数

非固定参数 若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数 还可以有一个**kwargs *args接收N个位置参数,转换为元组方式 **kwargs接收N个关键参数,转换为字典形式 全局变量、局部变量 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程...

2017-09-05 09:11:00 49

原创 文件操作

打开文件的模式有: r,只读模式(默认)。 w,只写模式。【不可读;不存在则创建;存在则删除内容;】 a,追加模式。【可读; 不存在则创建;存在则只追加内容;】 "+" 表示可以同时读写某个文件 r+,可读写文件。【可读;可写;可追加】 w+,写读 a+,同a "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ ...

2017-09-05 00:57:00 162

原创 字符串编码与转码

需知: 1.在python2默认编码是ASCII, python3里默认是unicode 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间 3.在py3中encode,在转码的同时还会把string 变成byt...

2017-09-05 00:51:00 220

原创 python基础-数据运算

*按位取反运算规则(按位取反再加1) 详解http://blog.csdn.net/wenxinwukui234/article/details/42119265 详细内容http://www.runoob.com/python/python-operators.html <wiz_tmp_tag id="wiz-table-r...

2017-09-05 00:30:00 73

原创 python基础-三元运算和bytes数据

三元运算 进制 二进制,01 八进制,01234567 十进制,0123456789 十六进制,0123456789ABCDEF bytes类型 http://www.cnblogs.com/txw1958/archive/2012/07/19/2598885.html Python 3最重要的新特性大...

2017-09-05 00:25:00 164

原创 python基础-字符串操作

输出高亮 语法: 显示方式、前景色、背景色至少一个存在即可。 显示方式:0(关闭所有效果),1(高亮),4(下划线),5(闪烁),7(反色),8(不可见)。 前景色以3开头,背景色以4开头,具体颜色值有:0(黑色),1(红色),2(绿色),3(黄色),4(蓝色),5(紫色),6(青色),7(白色)。 即前景绿色为32,背景蓝色为44。 ...

2017-09-05 00:06:00 42

原创 集合

集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集、差集、并集等关系 <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;"> ...

2017-09-04 23:56:00 57

原创 字典

字典 http://www.cnblogs.com/alex3714/articles/5717620.html 字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。 语法: 字典的特性: dict是无序的,没有下标 key必须是唯一的,so 天生去重 查找 其...

2017-09-04 21:58:00 63

空空如也

空空如也

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

TA关注的人

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