![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 61
菜鸟之神
这个作者很懒,什么都没留下…
展开
-
python发送邮件一
1)文件形式的邮件#!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header sender = 'xxxx@163.com' receiver = 'xxxx@163.原创 2018-01-08 21:49:13 · 1016 阅读 · 0 评论 -
python复习帖
模块使用模块是Python组织代码的基本方式一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)所有的.py文件都可以作为一个模块导入模块名称与脚本的文件名相同,例如我们编写了一个名为hello.py的脚本,则可以在另一个脚本中用import hello语句来导入它包(模块的集合):Python原创 2017-12-04 22:47:40 · 175 阅读 · 0 评论 -
Python对nosql的操作一
1)简介NoSQL,泛指非关系型的数据库非关系型数据库的优势:1. 性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。2. 可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。关系型数据库的优势:1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2. 事务支持使得对于安全性原创 2017-11-25 09:53:38 · 2321 阅读 · 0 评论 -
多进程三
1)manager# Python中提供了强大的Manage专门用来做数据共享的,其支持的类型非常多,包括,Value, Array,list,dict, Queue, Lock等import multiprocessingimport timedef worker(d,l): l += range(11,16) for i in xrange(1,6):原创 2017-12-12 23:12:01 · 134 阅读 · 0 评论 -
celery二
# 多worker,多队列实例# demo.pyfrom celery import Celeryapp = Celery()app.config_from_object("celeryconfig")@app.taskdef taskA(x,y): return x + y@app.taskdef taskB(x,y,z): return x + y + z原创 2017-12-20 23:19:35 · 193 阅读 · 0 评论 -
python对mysql的操作二
1)游标# 游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制# 游标总是与一条SQL 选择语句相关联因为游标由结果集# (可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成import MySQLdbdef connect_mysql(): db_config = { "host":"localhos原创 2017-11-22 07:51:55 · 169 阅读 · 0 评论 -
Python对mysql的操作四
# 删除数据# 要求:有些老师不好好上次,导致课程的及格率太低,最后名最差的5名老师将会被开除# 第一步,查询出及格率排最后的5位老师select sorce.couid,course.tid,sorce.grade,count(course.tid) as count_teacher from sorce join course on course.couid = sorce.couid原创 2017-11-23 23:55:00 · 156 阅读 · 0 评论 -
多进程二
1)进程锁import multiprocessingimport time# lock = multiprocessing.Lock()# lock.acquire 获得锁# lock.release 释放锁# with lock:# 不加锁程序,多个进程可以随机进行运作# number +1# number +3# def add(number,value原创 2017-12-11 23:43:47 · 237 阅读 · 0 评论 -
celery一
Celery是一个python开发的异步分布式任务调度模块。Celery本身并不提供消息服务,使用第三方服务,也就是borker来传递任务,目前支持rebbimq,redis, 数据库等简单的例子:from celery import Celerybroker="redis://192.168.48.131:6379/5"backend="redis://192.168.4原创 2017-12-20 07:19:04 · 144 阅读 · 0 评论 -
Python对mysql的操作三
1)创建表import MySQLdbdef connect_mysql(): db_config = { "host":"localhost", "user":"root", "passwd":"root", "db":"python_db", "charset":"utf8" }原创 2017-11-23 07:44:29 · 726 阅读 · 0 评论 -
多线程一
# Python中提供了threading模块来对多线程的操作import threadingdef worker(n): print("start worker{0}".format(n))# 方法二:从Thread继承,并重写run()class MyThread(threading.Thread): def __init__(self,args):原创 2017-12-13 22:59:23 · 135 阅读 · 0 评论 -
Python对nosql的操作三
import redispool = redis.ConnectionPool(host="localhost", port=6379, db=0)r = redis.Redis(connection_pool=pool)# hash类型的操作,就是以一个name对应一个字典存储的# hset hget hmset hmget# hset(name,key,value)# name对应原创 2017-12-05 23:03:39 · 221 阅读 · 0 评论 -
socket编程二
TCP可靠性的实现:(1)校验码(2)接收方反馈(3)信息包附带序号UDP:(1)快 不需要花费时间建立和关闭连接(2)快 偶尔丢失一两个消息包无所谓,但是TCP会严格检查(3)快 UDP的限制是一个信息包不超过64KB的数据TCP和UDP区别就是UDP不建立连接,只保证数据的完整性,数据传输快,但是不保证数据是否真的被收到,也不保证数据是够只接收一次,也不原创 2018-01-03 22:02:07 · 324 阅读 · 0 评论 -
12.25公开课(九宫格等)
1)class CountNumber(object): '''ABCD * 9 = DCBA 通过计算机的方法,给我们计算出A = ? B = ? C = ? D = ? A: 1-9 B: 0-9 C: 0-9 D: 1-9 A != B != C !=D ''' #def __init__(sel原创 2017-12-27 23:19:52 · 233 阅读 · 0 评论 -
消息队列二
# queue只有maxsize一个构造参数,用来指定队列容量,指定为0的时候代表容量无限。# 主要有以下成员函数:# Queue.qsize():返回消息队列的当前空间。返回的值不一定可靠# Queue.empty():判断消息队列是否为空,返回True或False。同样不可靠# Queue.full():类似上边,判断消息队列是否满# Queue.pu原创 2017-12-18 23:51:34 · 223 阅读 · 0 评论 -
socket编程一
客户端与服务端通信util.pyimport socketimport timeclass InitSocketTest(object): def __init__(self, host, port, type): self.host = host self.port = port self.add原创 2018-01-01 21:40:05 · 533 阅读 · 0 评论 -
python对nosql的操作五
import memcachemc = memcache.Client(["127.0.0.1:11211"])mc.set("k1","v1") # 赋值print(mc.get("k1")) # 取值mc.add("k2","v2") # 赋值print(mc.get("k2"))# set和add的区别# 如果这个key值存在,add就会报错;set不会报错,会重新赋值并原创 2017-12-08 00:05:38 · 541 阅读 · 0 评论 -
消息队列一
# 消息队列”是在消息的传输过程中保存消息的容器# 消息队列最经典的用法就是消费者和生成者之间通过消息管道来传递消息,消费者和生成者是不通的进程# 生产者往管道中写消息,消费者从管道中读消息# 操作系统提供了很多机制来实现进程间的通信,multiprocessing模块就提供了Queue和Pipe两种方法来实现from multiprocessing import Queue,Proces原创 2017-12-16 08:42:36 · 177 阅读 · 0 评论 -
python对nosql的操作二
1)字符串操作# redis中的string在内存中都是按照一个key对应一个value来存储的'''set的使用方法:set(name, value, ex=None, px=None, nx=False, xx=False) ex,过期时间(秒) px,过期时间(毫秒) nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setn原创 2017-11-27 23:47:27 · 259 阅读 · 0 评论 -
python对nosql的操作四
1)memcache简介及安装Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,它通过在内存中缓存数据和对象减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。安装:cd /usr/local/srcwget http://memcached.org/latesttar -zxvf lstestcd memcached-1原创 2017-12-06 23:48:32 · 195 阅读 · 0 评论 -
多线程二
import threading# 多线程和多进程不同之处在于多线程本身就是可以和父进程共享内存的,# 这也是为什么其中一个线程挂掉以后,为什么其他线程也会死掉的原因def worke(l): l.append("hello") l.append("world") l.append("python")if __name__ == "__main__": l原创 2017-12-14 23:08:57 · 156 阅读 · 0 评论 -
多进程一
import multiprocessingimport timep = Multiprocessing.cpu_count() # 统计cpu的个数m = Multiprocessing.active_children() # 列出存在的子进程# 创建一个Process对象def worker(interval): time.sleep(interval) pr原创 2017-12-09 00:35:37 · 146 阅读 · 0 评论 -
Python正则表达式二
1)re的matche方法和search方法# 正则对象的match匹配(推荐使用)# re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none# match(string[, pos[, endpos]])# string:匹配使用的文本,# pos: 文本中正则表达式开始搜索的索引。及开始搜索string的下标# end原创 2017-11-16 00:42:06 · 151 阅读 · 0 评论 -
Python对mysql的操作
1)安装a. 安装mysql:到mysql官网下载文件:mysql-installer-community.msi 安装过程同一般exe文件,直接下一步即可b.安装MySQL-python:可以在官网下载安装包进行安装,或者直接在cmd下通过pip命令安装pip install MySQL-python 安装完成之后,在Python中使用import MySQLdb没有报错就是原创 2017-11-21 07:32:31 · 248 阅读 · 0 评论 -
Python数据类型二
1. 列表(list)list(s) 将序列s转换为一个列表列表是由一序列特定顺序排列的元素组成的。可以把字符串、数字、字典等任何东西加入到列表中,元素之间用逗号分隔,如:a=['a','b','c',123]a.append(obj) 在list a末尾追加一个元素,该方法无返回值,但是会修改原来的列表a.index(obj) 返回str在列表中第一次出现的位置,不存在则抛出异常原创 2017-10-24 00:42:34 · 207 阅读 · 0 评论 -
python异常
1)异常常用形式# 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行# 异常是Python对象,表示一个错误,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行# 捕捉异常可以使用try/except语句,# try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理# try:# 正常的操作# e原创 2017-11-08 23:17:11 · 224 阅读 · 0 评论 -
Python类的重写和私有变量
1)类的重写# 如果子类想实现父类构造器中的方法,然后自己再写自己特殊的方法,便需要调用父类的__init__()方法class parent(object): # 定义父类的时候,一定要写继承object类,否则会报错 name = 'parent' sex = 'F' def __init__(self,address,age): self.原创 2017-11-07 23:55:18 · 298 阅读 · 0 评论 -
Python数据类型一
查看数据类型:type(x)1. 整型:int取值范围-2147483648 —— 2147483647的正负整数(-2**31~2**31-1)如果数值超过int的长度,python会自动转化成long(长整型),长整型后面会带有l或者L标识,我们也可以直接在赋值的时候赋长整型(在Python3中已经取消了长整型)2. 浮点型:floatpython的浮点数就是数学中原创 2017-10-21 10:13:32 · 197 阅读 · 0 评论 -
Python类的构造器及继承
1)类的一般形式# class ClassName:# '类的帮助信息' #类文档字符串# class_suite #类体# 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如People类,# 而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同# class后面紧接着是类名,即原创 2017-11-06 22:19:21 · 7079 阅读 · 0 评论 -
Python文件操作
# 1.open文件# 2.文件操作(读或者写)# 3.关闭文件1)读文件import codecs //codecs模块主要是解决文件乱码问题f = codecs.open('D:\\file_test.txt') //传入文件路径print(f.read())f.close()open(filename,mode)mode有几个参数需要学习:r原创 2017-10-28 09:39:58 · 161 阅读 · 0 评论 -
Python常用运算符
1. 算术运算符:+:加法,两个对象相加-:减法,一个数减去另一个数*:乘法,一个数乘以另一个数/:除法,一个数除以另一个数%:取模,返回除法的余数**:幂运算,如2**3理解为2的3次方//:取整除,返回除法的整数2. 关系运算符:==:等于,比较两个对象是否相等!=:不等于,比较两个对象是否不相等>:大于,返回左边是否大于右边>=原创 2017-10-19 23:25:42 · 557 阅读 · 0 评论 -
PyCharm常用快捷键及调试模式
1. PyCharm常用快捷键Ctrl + / # 注释Ctrl + A # 全选Ctrl + C # 不需要选中一行,直接复制整行内容Ctrl + X #不需要选中一行,直接剪切整行内容Ctrl + V # 粘贴Ctrl + D # 复制并粘贴,直接在下一行粘贴该行整行(或选中)的内容Ctrl + Z # 回退到上一步操作Ctrl + Shift + N #原创 2017-10-18 23:13:43 · 21897 阅读 · 0 评论 -
Python的安装设置及print函数
1.1 Linux安装Python# wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz# tar -zxvf Python-2.7.13.tgz# cd Python-2.7.13# ./configure# make# make install1.2 Windows安装Pyth原创 2017-10-17 23:11:59 · 303 阅读 · 0 评论 -
Python小练习
要求:1. 把一个数字的list从小到大排序,然后写入文件,然后从文件中读取出来文件内容,然后反序,在追加到文件的下一行中2. 分别把 string, list, tuple, dict写入到文件中import codecsli = [12,44,65,90,232,49,130,81,329,7]li.sort() //将列表排序with codecs.open('D:原创 2017-10-31 23:18:38 · 214 阅读 · 0 评论 -
Python时间获得及格式转换
1)import# 常用的导入模块常用的格式:# import os# import 我们一般用来导入模块,常用的快捷键是alt + enter可以直接导入模块# from math import floor# 从什么模块中导入什么,最终可以导入一个函数,或者一个类,再或者是一个模块# (也就是一层一层的调用)# 注意:1、import后面导入的是什么,在调用的时候就必须写什么原创 2017-11-09 22:49:32 · 418 阅读 · 0 评论 -
Python正则表达式一
1)正则表达式# 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配注:以上图片引用自网络2)req正则对象和正则匹配效率比较# re模块是python中处理正则表达式的一个模块,通过re模块的方法,把正则表达式pattern编译成正则对象,# 以便使用正则对象的方法,这样可以提高代码的执行效率import ti原创 2017-11-15 00:06:11 · 286 阅读 · 0 评论 -
Python的json
# Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式# json有4种方法# loads,单词的意思是加载,就是把json转换成其他格式,如字符串# dumps,单词的意思是颠倒,就是把其他对象或者格式,转换成json格式# 多了个s,有s的用来处理字符串,没有s的用来处理文件# load,把文件转换成json格式(unicode数据类型原创 2017-11-13 23:11:24 · 173 阅读 · 0 评论 -
Python生成式和生成器
# 列表生成式:一次性生成所有数据,然后保存在内存中,适合小量数据# 将1-100所有偶数的平方返回,下边两种方法效果一致,方法1便是生成式# 方法1li = [x*x for x in xrange(1,101) if x%2 == 0]print(li)# 方法2def funA(): a = [] for i in xrange(1,101): i原创 2017-11-03 23:39:58 · 1110 阅读 · 0 评论 -
Python练习一
1.实现1-100的所有的和方法一:sum = 0for i in xrange(1,101):sum += iprint sum方法二:num = reduce(lambda x,y:x+y,xrange(1,101))print num方法三:num = sum(xrange(1,101))print num2.实现1-500所有奇数的和方法原创 2017-10-26 22:26:08 · 191 阅读 · 0 评论 -
Python高阶函数及匿名函数
高阶函数和匿名函数高阶函数,就是把函数作为参数传递的一种函数如下例:def add(a,b,f): return f(a) + f(b)print(add(100,-100,abs))# map()函数会根据提供的函数对指定序列做映射# 第一个参数是函数,第二个参数为一个可迭代对象,返回也是一个列表lt = [1,2,3,4,5]def fun2(x):原创 2017-11-03 00:00:24 · 334 阅读 · 0 评论