
python
sgcwddhr
学习中
展开
-
死锁实例
死锁实例#coding=utf-8 import time import threading class Account: def __init__(self, _id, balance, lock): self.id = _id self.balance = balance self.lock = lock def withdraw(sel...原创 2020-08-06 12:25:06 · 140 阅读 · 0 评论 -
pandas教程(创建,索引,增,删,分组,排序,切分)
numpy基础import numpy as npnp.random.random((3,2)) #生成size大小的随机浮点数阵列np.random.sample((3,2)) #等同于np.random.random((3,2))np.random.rand(d1,d2)#生成指定维度的的[0,1)范围之间的随机数,输入参数为维度np.random.randn(d1,d2)生成指定维度的服从标准正态分布的随机数,输入参数为维度np.random.randint(low, high =原创 2020-08-04 17:12:05 · 920 阅读 · 0 评论 -
numpy中tile()和广播机制
np.tile(A,n)#如果n是整数,则将A横向重复n次。#如果n是数组(w,v),则将A当成一个元素,组成一个w行v列的数组在这里插入代码片import numpy as npa=[0,1,2] b = np.tile(a,2)b#array([0,1,2,0,1,2])c = np.tile(a,(1,2))#a看做一个元素,形成1行2列的数组#array([0,1,2,0,1,2])#a看做一个元素,形成2行1列的数组d=tile(a,(2,1)) #array([[0原创 2020-06-18 18:07:30 · 202 阅读 · 0 评论 -
numpy数组创建、切片、索引、属性
创建数组import numpy as np#指定大小,未初始化的数据c = np.empty([2,3])#array([[8.2e-322, 0.0e+000, 0.0e+000],# [0.0e+000, 0.0e+000, 0.0e+000]])#指定大小,数据以0填充,dtype默认为floatd = np.zeros([2,3],dtype=np.int)#array([[0, 0, 0],# [0, 0, 0]])d = np.zeros([2,3]原创 2020-06-18 17:08:52 · 246 阅读 · 0 评论 -
python中numpy的dtype
type,dtype,astype的区别type():返回数据结构的类型(list,dict等)。如type([1,2,3,4])返回list。list中可以包含不同数据类型的元素。dtype():返回数据结构中数据元素的类型。因此要求数据结构中包含的数据元素结构相同,故list,dict等不能调用dtype。np.array()要求数据元素结构相同,可以调用dtype().如np.array([1,2,3]).dtype返回int32.astype():改变np.array()中数据元素的数据类型。原创 2020-06-18 14:03:47 · 7819 阅读 · 2 评论 -
python中numpy的轴(axis)理解
a = np.array([[1,3],[2,6],[3,4]])np.shape(a)就是从最外层括号开始往内一层层剥开,[[1,3],[2,6],[3,4]],最外层括号有三个元素,[1,3],[2,6],[3,4],第二层括号有1,3两个元素,所以是(3,2).[[1,3],[2,6],[3,4]])0轴:即第0层括号[1,3],[2,6],[3,4]],即a[0],a[1],a[2]1轴:即第1层括号1,3,即a[0][0],a[1][1]轴的理解,np.sum(a,原创 2020-06-18 12:03:05 · 2527 阅读 · 1 评论 -
python菜鸟学习Day12(装饰器,枚举类)
装饰器(decorater)当想改变函数的功能,而不改变函数本身定义的时候,就用到了装饰器。比如,打印函数调用的日志。正常来说在函数中添加print 或者调用log包就行。但不想改变函数本身,就需要装饰器来完成。装饰器是高阶函数,参数是需要打印日志的函数,返回值也是函数。进程和线程start()函数用于启动线程或进程join(timeout)函数用于阻塞主进程或主线程,等子线程或进程结束后...原创 2020-01-06 17:44:11 · 171 阅读 · 0 评论 -
线程通信(Lock,RLock,Condition,Semaphore,Event,Queue)
线程间通信进程和线程start()函数用于启动线程或进程join(timeout)函数用于阻塞主进程或主线程,等子线程或进程结束后,主线程或进程才结束。(当设置setDaemon(True)守护进程时,如果等待timeout时间,主进程会杀死子进程,如果没有设置守护进程,主进程等待timeout时间结束,子进程继续执行)start(),join()不能再一个在一个循环里连用。#错误代码,...原创 2019-12-27 17:51:19 · 230 阅读 · 0 评论 -
python菜鸟学习Day12(yield)
在python中,带yield的函数称为生成器(generator),python对协程的支持也是通过生成器实现的。yield首先将yield当成一个断点标记,中断,return 。当程序执行到yield处,返回yield后边的变量,中断。其他程序获取这个变量,调用生成器的next()函数,程序又回到生成器,接着向下执行。一个带有 yield 的函数就是一个 generator,它和普通函数...原创 2019-12-26 17:46:58 · 267 阅读 · 0 评论 -
图像和办公文档处理(图片,生成word,生成pdf,pdf转纯文本,读取生成excel)
用Pillow操作图像Pillow是python著名图像处理库PIL的分支#测试颜色pillowimport PILfrom PIL import Image, ImageFilterdef main(): image = PIL.Image.open('70_2476.jpg') print(image.size,image.format,image.mode) #裁剪图片 ...原创 2019-12-19 11:14:43 · 285 阅读 · 0 评论 -
python菜鸟学习Day10(SMTP发送邮件及带附件及错误及发送短信)
我们通过http协议可以访问网站,同样,我们通过SMTP协议可以发送邮件,python中的smtplib模块对SMTP进行了简单封装,可以实现源地址向目标地址发送邮件。方法含义SMTP(host [, port [, local_hostname]]] )创建smtp对象。 host:主机,如果是本机,需要本机安装sendemail功能,可以是第三方邮件服务商,如smtp....原创 2019-12-18 18:07:37 · 1048 阅读 · 1 评论 -
python菜鸟学习Day9(requests,套接字socket)
requests是一个基于http协议访问网络的第三方库。例子:调用天行数据美女接口下载图片,写入文件。import requestsfrom threading import Threadclass picDownloadThread(Thread): def __init__(self,url): super().__init__() self.url = url def ...原创 2019-12-17 18:12:10 · 1515 阅读 · 0 评论 -
python菜鸟学习Day8(进程和线程)
进程和线程每一个应用程序就是一个进程,操作系统以进程为单位分配存储空间和资源。程序是一堆指令的集合,操作系统将程序调入内存,为其分配资源,就是进程。多进程就是系统允许将多个程序同时加载到内存,在系统调度下并发的执行。为什么还需要线程:进程只能在一个时间执行一件事。比如打开qq这个进程,它即需要监听你键盘的输入,又要监听其他人发给你的消息等,比如Word,它可以同时进行打字、拼写检查、打印等事情...原创 2019-12-16 12:20:52 · 142 阅读 · 0 评论 -
python菜鸟学习Day7(文件读取,异常及序列化)
文件读取,异常及序列化#f = open('文件路径','操作模式',encoding='编码')f = open('data/背影.txt','r',encoding='utf-8')文件操作模式符号含义r读取(默认)w写入(会覆盖文件中的内容)a追加(在文件末尾追加内容)b二进制模式(读写图片等)+既可以读也可以写def m...原创 2019-11-19 10:16:38 · 180 阅读 · 0 评论 -
python菜鸟学习Day6(类,封装)
类我们把重复执行的语句抽象成函数,然后直接调用函数名执行语句,这样代码维护就很方便。但当工程量越来越大,代码就越来越臃肿,维护就比较困难了。相对于面向工程的面向对象,就是以人的思维组织和处理工程项目,我们把一些数据结构和操作数据结构的函数的逻辑整体称为对象,数据结构和函数就是对象的属性和方法。在面向对象的思维里,自然界万物都是对象。当我们把具有相同特征的对象的属性和行为都抽象出来,就可以得到类,...原创 2019-11-12 13:58:40 · 142 阅读 · 0 评论 -
python菜鸟学习Day5(字符串,列表,元组,集合,字典)
字符串和常用数据结构字符串字符串是由0个或多个字符串联起来组成的有限序列,用单引号或双引号包围起来。也可以用个双引号或单引号包围。用三个双引号或单引号开头的字符串可以折行str1 = 'hello world!!!'str2 = "hello world!!!"str3 = ''' hello world !!!'''str4 = """ hello world ...原创 2019-11-11 15:03:21 · 159 阅读 · 0 评论 -
python菜鸟学习Day2(代码结构)
python代码结构顺序结构(按顺序执行)a = int(input('a = '))b = int(input('b = '))print('%d + %d = %d' % (a,b,a+b))***python是用缩进表示代码块得层级,而不是大括号 ***分支结构条件判断选择一个片段执行if elif else#输出三角形的周长和面积在这里插入代码片a = int(...原创 2019-11-07 11:36:29 · 159 阅读 · 0 评论 -
python菜鸟学习Day1(数据类型)
第一节 数据类型int(整型)(python2中有int,long,python3中只有int),float(浮点型),string(字符串型),bool(布尔型)变量命名字母,数字,下划线,(数据不能开头)大小写敏感不能和系统关键字(函数名)、保留字(特殊含义的字)重名命名规范用小写字母拼写,多个字母用下划线拼接受保护的实例属性用单下划线开头私有的实例属性用双下划线开头运算符...原创 2019-11-07 11:35:55 · 369 阅读 · 1 评论